Open isbaselvy opened 3 years ago
迭代器可以这样执行,厉害了 const arr = [...g()]
这个也厉害 let set = new Set([1, 2, 2, 3]); console.log([...set]);
const arr3 = [2.2, '123', false];
const [...cArr3] = arr3;
我有点儿不明白这个地方,放在赋值运算符的左侧是啥子意思啊?我猜想是跟形参赋值那个意思差不多?
这样就有没有很熟悉? @AwakenedSomeone ...这个东西,既可以是做剩余参数,做聚合,比如我们常见的函数里参数有...agrs,就把我们所有的参数转成了一个数组; 又可做扩展运算符,把数组里的元素取出来一个个展开 接上图例子 console.log(...arr) // 2 "3" false // 多个数组合并也类似,把多个数组的元素取出来展开,放到一个数组[]里,就成了数组合并,上面那个例子我觉得也是可以解释做,把cArr3里面的元素取出来展开放到数组里后 等于arr3,反推过来,cArr3里的元素就和arr3一致 const cArr4 = [...arr1, ...arr2, ...arr3];
这样就有没有很熟悉? @AwakenedSomeone ...这个东西,既可以是做剩余参数,做聚合,比如我们常见的函数里参数有...agrs,就把我们所有的参数转成了一个数组; 又可做扩展运算符,把数组里的元素取出来一个个展开 接上图例子 console.log(...arr) // 2 "3" false // 多个数组合并也类似,把多个数组的元素取出来展开,放到一个数组[]里,就成了数组合并,上面那个例子我觉得也是可以解释做,把cArr3里面的元素取出来展开放到数组里后 等于arr3,反推过来,cArr3里的元素就和arr3一致 const cArr4 = [...arr1, ...arr2, ...arr3];
嗯嗯,我又去了解了一下,这里...可以分为两类,在等号右边和实参的情况,是展开的作用,在等号左边和形参的情况,又是聚合的作用,即将arr3的值展开放到[]中,并凝聚给cArr3,是这样的意思吧?