搜索
1const car = { color: 'white' } 2car.color = 'red' // 修改属性: 3car.owner = 'Johnson' // 添加属性
1const car = {} 2car = {} // 错误
数组同理
[模式] = [数组];
{模式} = {对象};
数组解构
1const [, [x, y], m = 88, ...z] = [2, [3, 4], undefined, 1, 2] // m 为 88
1const [x, ...arr] = [1, 2, 3] // arr = [2,3] 2const { a, ...obj } = { a: 'aa', b: 'bb', c: 'cc' } // obj = {b : "bb" , "c" : "cc"}
1const [a, b, c] = 'hel' // 'h' 'e' 'l'
1// 剩余运算符 2const { a, ...obj } = { a: 10, c: 30, d: 40 } // 10,{c: 30, d: 40}
1let { a = 10, b = 5 } = { a: 3 }; // a = 3; b = 5; 2 3({ a } = { a: '1' }) // 变量已经被声明需要用括
1const { 0: first, [arr.length - 1]: last } = [1, 2, 3, 4, 5, 6, 7] 2 3console.log(first) // 输出1 4console.log(last) // 输出7
1var [x, y] = [10, 20]; // 交换值 2[x, y] = [y, x] 3 4// 函数可以返回多个值 5var [x, y, z] = show() 6function show() { 7 return ['结果1', '结果2', '结果3'] 8}
1function showSelf({ name, age = 18 }) { 2 // 可以 3 console.log(`我叫${name}今年${age}`) // 我叫aa 今年18 4} 5showSelf({ name: 'aa' }) 6 7// 取出数组中的值 8const { 0: first, 3: last } = [10, 20, 30] // first等于10 last是30