es6的解構說白了就是能夠讓我們一次性取到多個值,大致可分為一下幾個方面
1、陣列解構
普通的一維陣列解構,如下one = array[0],two=array[1],three=array[2]
var [one, tow, three] = array;巢狀陣列解構
var [one,[[two],three]] = [1,[[2],3]];還可以跳過一些元素解構// one=1;two=2;three=3
var [,,three] = [1,2,3];指定不定引數進行解構// three=3
var [one,...three] = [1,2,3];當訪問空陣列或則越界的時候得到undefined;three=[2,3];
2、物件解構
物件解構使用{},首先指定要解構的屬性名,然後指定繫結的變數
var =;如果屬性名和變數名一致時,可以縮寫// namea="jhon",agea=23
var =;// name="jhon",age=23
物件也可以像陣列一樣進行巢狀解構,當解構乙個未定義的屬性時得到undefined
如果已經宣告了某些變數或者沒有使用關鍵字(var,let,const),則像下面這樣使用會報錯,因為解析引擎將=;
// error
(=);
3、其他
典型應用,多重返回值
function show()var [one, two] = show();
解構map
for( var [,value] of map)
ES6新特性 解構賦值
在很多場景下,我們發現乙個復合屬性中像物件 陣列,我們在使用時並不會每一次都用到其中的每一項 每乙個元素,所以es6的解構賦值就可以單獨將我們需要的屬性 元素取出,不用將物件 陣列全部載入,可以提高專案的執行效率。先宣告乙個物件 let obj 在這個物件中有兩個屬性,通過解構賦值,我們可以做到只載...
前端 (四)ES6新特性之解構賦值
等號左右兩邊的格式一樣,就可以將右邊的值賦值給左邊的變數,這種寫法實質是 模式匹配 舉個例子 以前賦值 var a 1 var b 2 var c 3 解構賦值 var a,b,c 1,2,3 let undefined typeerror let null typeerror要求 等號右邊必須為陣...
es6新特性 ES6新特性(一)
var 1 var宣告的是函式作用域 區域性 但在if for等定義的變數是全域性的 2 var 具有變數提公升,預解析 3 在同乙個作用域下,var可以宣告多次 4 var 宣告的變數會掛載到window上 let1 let不存在變數提公升,在變數使用之前,必須要先宣告 2 let在同一作用域下,...