ES6新特性四:變量的解構(gòu)賦值實例
更新時間:2017年04月21日 09:22:50 作者:Dason_yu
這篇文章主要介紹了ES6新特性之變量的解構(gòu)賦值操作,結(jié)合實例形式分析了ES6針對數(shù)組、對象等的解構(gòu)賦值操作相關(guān)實現(xiàn)技巧,需要的朋友可以參考下
本文實例講述了ES6新特性之變量的解構(gòu)賦值。分享給大家供大家參考,具體如下:
1. 數(shù)組的解構(gòu)賦值
//① 可以從數(shù)組中提取值,按照對應(yīng)位置,對變量賦值 var [a, b] = [1, 2]; //a = 1;b = 2 //② 下面是一些使用嵌套數(shù)組進行解構(gòu) var [d, [[c], f]] = [1, [[2], 3]]; var [,,third] = ["foo", "bar", "baz"];//third = "baz" var [head, ...tail] = [1, 2, 3, 4];//head = 1;tail = [2, 3, 4] //③不完全結(jié)構(gòu) var [x, y] = [1,2,6]; //x = 1;y = 2 //④ 解構(gòu)賦值允許指定默認值 var [foo = true] = []; //foo = true var [x, y='b'] = ['a'] // x='a', y='b' var [x, y='b'] = ['a', undefined] // x='a', y='b' //⑤ 解構(gòu)不成功,變量的值就等于undefined var [a6, a7] = [1]; //a7 = undefined
2. 對Set 的解構(gòu)賦值
[a, b, c] = new Set(["a", "b", "c"]) console.log(a) // "a"
3. 對象的解構(gòu)賦值
//對象的屬性沒有次序,變量必須與屬性同名,才能取到正確的值 var { x, y } = { x: "aaa", y: "bbb" };//x = aaa, y = bbbb var { c } = { a: "aaa", b: "bbb" }; // c = undefined //嚴格遵守變量名與屬性同名 var { d: e } = { d: "aaa", f: "bbb" }; //e = aaa //指定默認值 var {x, y = 5} = {x: 1};// x = 1,y = 5
4. 用于遍歷 Map
var map = new Map(); map.set('first', 'hello'); map.set('second', 'world'); //獲取鍵值對 for (let [key,value] of map) { console.log(key + " is " + value); } // 獲取鍵名 for (let [key] of map) { console.log(key); } // 獲取值 for (let [,value] of map) { console.log(value); }
希望本文所述對大家ECMAScript程序設(shè)計有所幫助。
相關(guān)文章
淺析在javascript中創(chuàng)建對象的各種模式
下面小編就為大家?guī)硪黄獪\析在javascript中創(chuàng)建對象的各種模式。小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-05-05javascript實現(xiàn)阻止iOS APP中的鏈接打開Safari瀏覽器
這篇文章主要介紹了javascript實現(xiàn)阻止iOS APP中的鏈接打開Safari瀏覽器,這個IOS APP一般是Web APP,否則沒法使用本文的代碼,需要的朋友可以參考下2014-06-06Extjs顯示從數(shù)據(jù)庫取出時間轉(zhuǎn)換JSON后的出現(xiàn)問題
后臺從數(shù)據(jù)庫取出時間,JSON格式化后再傳到gridpanel,這時時間變成了:/Date(32331121223)/這樣的格式,本文將詳細介紹解決Extjs顯示從數(shù)據(jù)庫取出時間轉(zhuǎn)換JSON后的出現(xiàn)問題2012-11-11