ES6新語法 解構賦值

2021-10-09 04:27:00 字數 2431 閱讀 2729

物件解構賦值 ※很重要

/**

* 物件解構賦值:獲取元素中屬性的值,然後賦值給變數

*///宣告乙個物件

let obj =

;//es5中

// let name1 = obj.name;

// let age1 = obj.age;

// let gender1 = obj.gender;

// let score1 = obj.score;

// console.log(name1,age1,gender1,score1);

//es6中 物件解構賦值

// let = obj;//就是直接用 來給變數名賦值直接的

// console.log(name1,age1,gender1,score1);

// let = obj;//名字一樣也可以

// console.log(name,age,gender,score);

// let = obj;//如果宣告的變數名跟物件的屬性名一樣 可以直接寫乙個 就可以直接簡寫 比較方便

// console.log(name,age,gender,score);

// let = obj;

// console.log(name,age,gender,fenshu);//如果簡寫的變數名跟物件屬性名對不上(物件中沒有與變數名同名的屬性名) 就是沒有 這個變數名的值就會是undefined

// let = obj;

// console.log(name,age,gender,fenshu);//這就是變數名跟物件屬性名一樣的簡寫 不一樣的就老老實實的按照 屬性名:變數名 這樣寫

// let = obj;//可以用 變數名=值 來指定預設值

// console.log(name,age,gender,fenshu,height);

let= obj;

//可以用 變數名=值 來指定預設值 但對於有與變數名同名的物件屬性名 還有預設值的來說 會取用物件的屬性值

//這就體現了 變數名=值 是預設值 只有在其他情況都沒有賦值的情況才會使用

console.

log(name,age,gender,fenshu,height)

;

陣列解構賦值
/**

* 陣列解構賦值:就是把陣列的每乙個元素依次賦值給變數

* 陣列解構賦值 只能按順序賦值 不可以更改順序賦值

*///宣告陣列

let arr =[10

,20,30

,40];

//es5中

let num1 = arr[0]

;let num2 = arr[1]

;let num3 = arr[2]

;let num4 = arr[3]

;console.

log(num1,num2,num3,num4)

;//es6中 可以用陣列解構賦值 用

// let [num1,num2,num3,num4] = arr;//意思按正常順序 依次按照索引值將陣列中的元素賦值給對應的變數名

// console.log(num1,num2,num3,num4);

// let [num1,num2,num3,num4,num5] = arr;//變數數量多於陣列元素數量的話 多出來的就是沒有 undefined

// console.log(num1,num2,num3,num4,num5);

// let [num1 = 100,num2,num3,num4,num5 = 50] = arr;// 變數名 = 值 為預設值 跟那個物件解構賦值類似

// console.log(num1,num2,num3,num4,num5);

解構賦值結合函式宣告
/**

* 解構賦值結合函式宣告

*///es5中

//宣告乙個函式,形參有多個

// function test(name,age,gender)

// test('chen',35,'man');

//形參有多個 可以吧形參打包成乙個物件

// function test(obj)

// test();

//es6中

//宣告乙個函式,形參有多個

//形參我就直接可以用物件解構賦值

// function test1());

// };

// test1();

//上面跟下面這行**乙個意思 形參 = 實參

// let =

functionx(

[a,b,c,d])x

([10,

20,30]

);//結果是nan 因為d沒有值 是undefined 數字加undefined是nan

es6的新語法,解構賦值簡單應用

參考該鏈結 var c 等價於 var c var c a c.a b c.b console.log a 結果some code 取出 c 裡面的a的值,必須是a要為c裡面有a這個物件才行。a 的位置不固定也可以這樣 var c console.log a 結果some code一 陣列解構 為什...

ES6語法 解構賦值

按照一定的模式,從陣列和物件中提取值,對變數進行賦值,就被稱為解構。目的是為了提高效率,使用起來更加方便。以下的各個說明,我會模擬著es5去解釋,希望能幫到小夥伴們。陣列解構 正常解構 es5 var arr 1,2,3 var a arr 2 console.log a 3 es6 let a,b...

ES6 解構賦值

陣列的解構賦值 let a,b 12,13 let a,b,c d 13,15,16 let a,b c 78,12 23 let x,y 1,3,5 x 1,y 3 let x,y,z a x a,y undefined z let h,b 1,2,3,4 1,2,3,4 預設值 let x tr...