Es6物件操作,解構賦值
阿新 • • 發佈:2021-01-13
技術標籤:javascript
Es6物件操作,解構賦值
首先我們先來看官方定義:解構 賦值:允許按照一定模式,從陣列和物件中提取值,對變數進行賦值,這被稱為解構 賦值。
接下來咱們從實際出發,首先看看陣列的解構賦值:
var arr=["aa","bb","cc"];
原始的方法取得陣列中的每一項的值需要我們這麼做:
var a= arr[0];
var b= arr[1];
var c= arr[2];
通過下標來獲取到當前元素的值。現在用Es6的新語法:
var [a,b,c]=["aa","bb","cc"];
每個變數以此對應,a–aa,b–bb,c–cc
如果只想取a,c的值則是則是這麼寫:
var [a,,c]=["aa","bb","cc"];
只需要跳開就可以,在原來b變數的位置什麼也不寫,逗號隔開就可以。如果此時多了一個新變數d,打印出d會發現是一個undefined,如果不想讓它顯示undefined,我們可以給它一個預設值,如下:
var [a,b,c,d=0]=arr;
這樣打印出的d就是0,而不是undefined。
看完陣列的解構賦值,接下來看我們今日的重點,物件的解構賦值:首先是一個物件,既然是物件就需要花括號包裹:
var obj={"sex":"男","age":18};
取物件中某一屬性的值的時候,原來我們的寫法是:
var sex= obj.sex;
var age= obj.age;
而在Es6中,只要屬性名與屬性值一致,則可以簡寫:
var {age,sex} =obj;
同樣此時有一個新的屬性,但是沒有屬性值,我們可以賦予一個預設的屬性值
var {name= "zhang",age,sex} ={"sex":"男","age":18};
到此Es6的解構賦值基本完事!