您的位置:首页 > 其它

es6解构(destructuring)

2018-02-22 15:46 155 查看

1 数组的解构

let [a, b, c] = [1, 2, 3]   // 1, 2, 3
let [a, b, c] = [1, , 3]    // 1, undefined, 3

// 默认值
let [a, b, c = 3] = [1, 2]      // 1, 2, 3
let [a, b, c = 3] = [1, 2, 4]   // 1, 2, 4
let [a, b, c = a + b] = [1, 2]  // 1, 2, 3

// 复杂点
let [a, [b, [c, d]]] = [1, [2, [3, 4]]]     // 1, 2, 3, 4

// rest参数
let [a, ...b] = [1, 2, 3]       // 1, [2, 3]
let [a, ...b, c] = [1, 2, 3]    // 报错:rest element must be the last element

// 变量赋值,对象的解构只能用于声明语句
let a, b
[a, b] = [1, 2]     // 1, 2


2 对象的解构

// 要求变量名和属性名相同

let o = {a: 1, b: 2, c: 3}

let {a, b, c} = o           // 1, 2, 3
let {a, d = a + 1, e} = o   // 1, 2, undefined

// 变量赋值报错
let a, b
{a, b} = {a: 1, b: 2}   // 报错:只能用于声明语句
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  es6 解构