Spread Syntax

js 展开语法

展开语法(Spread syntax)

在函数调用/数组构造时, 将数组表达式或者string在语法层面展开; 还可以在构造字面量时, 将对象按照 key-value 的方式展开

语法

myFunction(…iterableObj);

实例

在函数调用时使用展开语法

等价于apply

1
2
3
4
5
6
function myFunction(x, y, z) {};
var args = [0, 1, 2]

myfunction.apply(null, args);
// 使用展开语法
myfunction(...args)

构造字面量数组

1
2
3
4
5
6
7
8
var parts = ['apple', 'banana']
var fruits = ['pear', ...parts, 'watermelon']

var arr = [1, 2, 3]
var arr2 = [...arr]  // like arr.slice()
arr2.push(4)
// arr2: [1, 2, 3, 4]
// arr 不变