阮一峰的ES6标准入门比较长,最近发现菜鸟教程的ES6教程写的还(xie)不(de)错(duan),准备读一读。数组
let [a, b, c] = [1, 2, 3];
// a = 1
// b = 2
// c = 3
复制代码
let { foo, bar } = { foo: 'aaa', bar: 'bbb' };
// foo = 'aaa'
// bar = 'bbb'
复制代码
将数组和对象展开为其中的各个元素。bash
let arr1 = [0, 1, 2];
let arr2 = [3, 4, 5];
let arr3 = [...arr1, ...arr2]
//arr3 = [ 0, 1, 2, 3, 4, 5]
let z = { a: 3, b: 4 };
let n = { ...z };
n // { a: 3, b: 4 }
复制代码
剩余参数语法容许咱们将一个不定数量的参数表示为一个数组。数据结构
function(a, b, ...rest) {
// ...
}
复制代码
剩余参数和 arguments对象之间的区别主要有三个:函数
- 剩余参数只包含那些没有对应形参的实参,而 arguments 对象包含了传给函数的全部实参。
- arguments对象不是一个真正的数组,而剩余参数是真正的数组。
- arguments对象还有一些附加的属性 (如callee属性)。