1、对象的扩展运算符(…)用于取出参数对象的所有可遍历属性,拷贝到当前对象之中
let z = {
a:3,b:4};
let n = {
...z};
console.log(n);//{a:3,b:4}
2、 由于数组是特殊的对象,所以对象的扩展运算符也可以用于数组
let foo = {
...['a','b','c']}
console.log(foo);//{ '0': 'a', '1': 'b', '2': 'c' }
3、如果扩展运算符后面是一个空的对象,则没有任何效果
console.log({
...{
},a:1});//{a:1}
4、 如果扩展运算符后面是一个字符串,它会自动转成一个类数组对象,因此返回的不是空对象
console.log({
...'hello'});//{ '0': 'h', '1': 'e', '2': 'l', '3': 'l', '4': 'o' }
5、如果扩展运算符后面不是对象,则会自动将其转为对象。由于该对象没有自身属性,所以返回一个空对象。
consol