javascript中未定义属性的简写,初始化和赋值属性

Shorthand for undefined property, initialize and assign property in javascript

本文关键字:属性 初始化 赋值 未定义 javascript      更新时间:2023-09-26

我想看看是否他们是一个简短的方式来测试一个未定义的属性,如果是初始化它或分配它的东西。

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

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

可以使用赋值来检查属性,如果不存在则使用数组。

(obj.array = obj.array || []).push(value);

var obj = {},
    checkNPush = (o, k, v) => (o[k] = o[k] || []).push(v);
(obj.array = obj.array || []).push(42);
(obj.array = obj.array || []).push(43);
checkNPush(obj, 'array', 44);
console.log(obj);
.as-console-wrapper { max-height: 100% !important; top: 0; }