ES6之變量的解構(gòu)賦值用途


1 交換變量的值

let [x, y] = [y, x];

2 使函數(shù)返回多個(gè)值
函數(shù)只能返回一個(gè)值,如果要返回多個(gè)值,只能將它們放在數(shù)組或?qū)ο罄锓祷?。有了解?gòu)賦值,取出這些值就非常方便了。

function example(){
  return [1,2,3];
}
var [a, b, c] = example();

function example() {
  return {
    foo: 1,
    bar: 2
  }
}
var {foo, bar} = example();

3 函數(shù)參數(shù)的定義

//參數(shù)是一組有次序的值
function f([x, y, z]) { ... }
f([1,2,3])

//參數(shù)是一組無次序的值
function f({x, y, z}) { ... }
f({x:1, y:2, z:3})

4 提取JSON數(shù)據(jù)
解構(gòu)賦值對(duì)提取JSON對(duì)象中的數(shù)據(jù),尤其有用。

var jsonData = {
  id: 42,
  status: 'OK',
  data: [867, 5309]
}
var {id, status, data: number} = jsonData;
console.log(id, status, number);
//42, OK, [867, 5309]

5 函數(shù)參數(shù)的默認(rèn)值

jQuery.ajax = function (url, {
  async = true,
  beforeSend = function () {},
  cache = true,
  ....
}){};

6 遍歷Map結(jié)構(gòu)
任何部署了 Iterator 接口的對(duì)象,都可以用 for...of 循環(huán)遍歷。Map 結(jié)構(gòu)原生支持 Iterator 接口,配合變量的解構(gòu)賦值,獲取鍵名和鍵值就非常方便

var map = new Map();
map.set('first', 'hello');

for(let [key, value] of map){
  console.log(key + 'is' + value);
}

如果只想獲取鍵名,或者只想獲取鍵值,可以寫成下面這樣。

//獲取鍵名
for (let [key] of map){
}
//獲取鍵值
for(let [,value] of map){
}

7 輸入模塊的指定方法
加載模塊時(shí),往往需要指定輸入那些方法。解構(gòu)賦值使得輸入語句非常清晰。

const { SourceMapConsumer, SourceNode } = require("source-map");

參考文獻(xiàn):http://wiki.jikexueyuan.com/project/es6/set-map.html

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容