const isa = false;
const age = 20;
const bb = false;
const person = {
id: "id1",
name: "tc",
...(isa && { higt: "180" }),
...(age >= 18 && { address: "wuhan" }),
...(age >= 18 && bb && { work: "35f" }),
};
console.log("person===", person);//{ id: 'id1', name: 'tc', address: 'wuhan' }
注意点: 如果扩展运算符后面是一个空对象,则没有任何效果
let a = {...{}, a: 1}
a // { a: 1 }
Int类型、Boolen类型、undefined、null
如果扩展运算符后面是上面这几种类型,都会返回一个空对象,因为它们没有自身属性
{...1} // {}
{...true} // {}
{...undefined} // {}
{...null} // {}