ES6的物件結構賦值

2021-09-28 19:13:43 字數 1699 閱讀 1446

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 變數交換 有兩種方法 第一種 就是宣告乙個空的變數,然後來進行交換,第二種 就是前面宣告的變數,後面調換...