1. 程式人生 > 其它 >Es6物件操作,解構賦值

Es6物件操作,解構賦值

技術標籤: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的解構賦值基本完事!