es6中的物件複製是右邊值是物件,而宣告這個物件的也是物件,es6之前的是宣告的值是物件,但是宣告是值;
es6之前宣告的物件;
var obj =
;
01:es6基本的結構賦值;
let
=;
在賦值的時候需要注意:
左側的變數名必須與右側的屬性名相同才能正確取值;
與書寫的順序無關(因為物件是無序的資料儲存方式);
let
=;
書寫順序混亂,但是也能取到相應的值;
let
=; console.
log(username, gender, age)
;
輸出的結果為,rose 女 18;
02:左側名稱內容可以和右側不對應,如果不存在為undefined;
let=;
console.
log(name, age, aihao)
;
此時aihao就沒有被賦值,所以為undefined;
03: 如果要設定的變數名與屬性名不同時,可以設定別名
let
=;
注意:我們在給這個屬性設定了別名的時候,原來的屬性名就會被系統預設為無,此時如果輸出原來的屬性名就會報錯;
let=;
console.
log(un, age, gender)
; console.
log(username)
;// uncaught referenceerror: username is not defined
有些時候我們建立name屬性他不會報錯,並不是解構中設定了name,而是window物件自帶屬性name;
let
=; console.
log(n, a, g)
;console.
log(name)
04: 預設值設定;
有些時候我們在建立物件的時候,我們在設定變數名的時候,有些屬性和值沒有,此時我們就可以給他們設定乙個預設的值,如果有的話就使用他固有的屬性和值,如果沒有的話就使用我們給他預設的值;
let=;
console.
log(username,age,***)
;
此時的輸出為,張三 男 18;
我們沒有給他設定屬性和值而是給他設定了乙個預設的屬性和值,當我們設定的變數拿不到值時,就會使用我們給的預設值;
如果我們給他設定預設值了,它本身也有值就會使用他本身的值,不會使用我們預設加給他的值;
let=;
console.
log(username)
;
此時就不會採取我們給的預設值所以輸出為:張三;
05: 物件的剩餘值;
我們可以通過…other來儲存物件剩餘的屬性和值;
let=;
console.
log(age, other)
;
此時的輸出為:18 ;
以上是我對es6物件的一種理解和概念;
ES6的陣列結構賦值
es允許按照一定模式,從事狐族和物件中提取值,對變數進行賦值。這被稱之為結構。通常,我們賦值一般都會採用以下的這種方式 var a 3 var b string es6寫法 var a,b 3,string 下面是以巢狀陣列賦值的例子 let a,b,c name age a name b c ag...
ES6 變數的結構賦值
基本概念 陣列的結構賦值 物件的結構賦值 基本型別的結構賦值 示例一 陣列的結構賦值let a,b,c 1,2,3 console.log a,b,c 輸出 1 2 3let a b c 1 2 3 console.log 1 2,3 let a console.log a 輸出undefined示...
ES6中的結構賦值
1.1 結構賦值就是從陣列和物件中提取自己想要的變數,然後進行賦值,最常用的場景是element ui vant按需引入,請求介面返回資料,提取想要的資料,重要的一點就是左右結構必須一致 1.2 變數交換 有兩種方法 第一種 就是宣告乙個空的變數,然後來進行交換,第二種 就是前面宣告的變數,後面調換...