變數的解構賦值:ES6 允許按照一定模式,從陣列和物件中提取值,對變數進行賦值,這被稱為解構(Destructuring)。
以前的寫法:
var a = 1; var b = 2;
es6允許的寫法:
let [a,b] = [1,2];
一般用途:
1、交換變數的值
[x,y] = [y,x];
2、函式返回多個值
function f1() { return [1,2,3]; } var [a,b,c] = f1(); // 返回json物件: function f1() { return {id:1,name:”小明”}; } var {id,name} = f1();
3、函式的無次序定義
function f1({a,b,c}) { //… } f1({a=1,c=3,b=2});
4、引數的預設值
function f1(a=1,b=2) { //… }
5、遍歷map解構
var map = new Map(); map.set(“first”:”hello”); map.set(“second”:”world”); // 獲取key和value for(let [key,value] of map) { //… } // 只獲取key for(let [key] of map) { //… }