你的位置:首页 > Java教程

[Java教程]ES6 变量解构用法

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

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

 

2、对象解构

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

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

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

 

3、字符串的解构

'use strict';let [a,b,c] = 'mfg';// 控制台输出mconsole.log(a);// 控制台输出fconsole.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();//控制台输出1console.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);