ES6 变量解构用法

1、数组解构,可以设置默认值

'use strict';
let [x, y = 'b'] = ['a'];
//控制台输出b
console.log(y);

2、对象解构

'use strict';
let { foo, bar } = { foo: "aaa", bar: "bbb" };
// 控制台输出aaa
console.log(foo);
// 控制台输出bbb
console.log(bar);

对象的解构与数组有一个重要的不同。数组的元素是按次序排列的,变量的取值由它的位置决定;而对象的属性没有次序,变量必须与属性同名,才能取到正确的值。

对象的解构赋值的内部机制,是先找到同名属性,然后再赋给对应的变量。真正被赋值的是后者,而不是前者。

3、字符串的解构

'use strict';
let [a,b,c] = 'mfg';
// 控制台输出m
console.log(a);
// 控制台输出f
console.log(b);

4、函数参数解构

'use strict';
function add([x, y]){
  return x + y;
}
console.log(add([1, 2]));

5、解构的用途

(1)从函数返回多个值

'use strict';
function example() {
  return [1, 2, 3];
}
let [a, b, c] = example();
//控制台输出1
console.log(a)

(2)提取 JSON 数据

'use strict';
let jsonData = {
  id: 42,
  status: "OK",
  data: [867, 5309]
};

let { id, status, data: number } = jsonData;

console.log(id, status, number);
原文地址:https://www.cnblogs.com/mengfangui/p/8004238.html