javascript中未定义属性、初始化和分配属性的缩写

javascript中未定义属性、初始化和分配属性的缩写,javascript,Javascript,我试图看看它们是否是一种测试未定义属性的简写方法,如果是,则初始化它或为它赋值 obj: { array: []; } obj.array.push(something); 如果array不是obj的一部分,我如何以尽可能短的方式测试它,并且仍然向它推送一些东西。原因是我想减少属性为NULL的http请求的大小,并且我的对象有很多属性。您可以使用一个检查属性的赋值,如果不存在,则使用数组 (obj.array = obj.array || []).push(value); var o

我试图看看它们是否是一种测试未定义属性的简写方法,如果是,则初始化它或为它赋值

obj: {
   array: [];
}
obj.array.push(something);

如果
array
不是
obj
的一部分,我如何以尽可能短的方式测试它,并且仍然向它推送一些东西。原因是我想减少属性为NULL的http请求的大小,并且我的对象有很多属性。

您可以使用一个检查属性的赋值,如果不存在,则使用数组

(obj.array = obj.array || []).push(value);
var obj={},
checkNPush=(o,k,v)=>(o[k]=o[k]| |[])。推(v);
(obj.array=obj.array | |[]).push(42);
(obj.array=obj.array | |[]).push(43);
checkNPush(对象“数组”,44);
控制台日志(obj)

。作为控制台包装{max height:100%!important;top:0;}
您有语法错误
array:[]
如果
obj
不是另一个对象的一部分,则必须首先声明它,如
var obj={array:[]}
要测试哪个属性未定义?看起来您混淆了
=
。你能给我们看一下你的全部密码吗?看起来您首先要创建这些属性,这样您就知道它们不是未定义的?我正在使用一个属性示例,当我声明数组不是obj的一部分时,请阅读整个问题。是的,我正在考虑这样做,但很好奇它们是否较短,因为我不想在所有地方都这样做,但可能不得不这样做。你可以使用一个函数。好了,很酷。对于不是数组的属性,可能也需要一个。