动态设置对象属性

在工作中,我们常常会遇到动态去设置对象的属性;

比如:

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})

}

posted @ 2022-07-06 16:08  yuwenjing  阅读(239)  评论(0编辑  收藏  举报