动态设置对象属性
在工作中,我们常常会遇到动态去设置对象的属性;
比如:
let name = "zhangsan"
let obj = {};
obj.name = name;
通常情况下,我们还会遇到动态设置对象的属性,当属性值undefined时,不添加此属性;
方式如下:
if(name){
obj={...obj,name : name}
}else{
obj = {...obj}
}
此中方式简单易懂,但代码量较多,近期发现一种更为简洁的写法;
如下:
obj = {
...obj,
...(name && {name:name})
}
也可以简写为:
obj = {
...obj,
...(name && {name})
}