1:扩展运算符
主要作用就是展开当前数组;一般应用于浅拷贝、合并数组、解构
console.log(1, ...[2, 3, 4], 5);
// 1 2 3 4 5
...[2, 3, 4]
// VM71: 1 Uncaught SyntaxError: Unexpected token...
[...[2, 3, 4]]
// (3)[2, 3, 4]
- 浅拷贝
const arr1 = [1,2]; const arr2 = [...arr1]; // arr2 --> [1,2] // 情况二 const arry1 = [3, 4]; const arry2 = [...arry1, ...arry1]; // arry2 --> [3,4,3,4]
- 合并数组
const arr1 = [1, 2]; const arr2 = [2, 2]; const arr3 = [3, 2]; [...arr1, ...arr2, ...arr3]; // (6)[1, 2, 2, 2, 3, 2]
- 解构
const [first, ...rest] = [1, 2, 3, 4, 5]; // first --> 1 // rest --> [2, 3, 4, 5]
- 拆分字符串
[...'hello'] // [ "h", "e", "l", "l", "o" ]
- 转换Iterator接口的对象
[...'abcabcabc'.matchAll('ab')]; //matchAll返回一个迭代器 // [Array(1), Array(1), Array(1)] let nodeList = document.querySelectorAll('div'); let array = [...nodeList]; // [Array(1), Array(1), Array(1)]