<b id="wionh"></b>

<u id="wionh"><address id="wionh"><meter id="wionh"></meter></address></u>

es6對象解構賦值

時間:2023-01-20 22:40:45 類型:JS/JQUERY
字號:    

一、數組的解構賦值:

      1.基本用法

let [a, b, c] = [1, 2, 3];
console.log(a, b, c); //1,2,3

let [d, ,] = [1, 2, 3];
console.log(d); //1

let [[e], f] = [[1], 2];
console.log(e, f); //1,2

let [g, ...h] = [1, 2, 3];
console.log(g, h); //1,[2,3]

2.不完全解構---右邊提供的值要比變量多

let [[i]] = [[1, 2], 3];
console.log(i); //1

3.解構賦值失敗為undefined

let [j] = [];
console.log(j); //undefined

4.支持解構賦值提供默認值

let [k = 1, l = 2] = [3];
console.log(k, l); //3,2

規則是先看右邊的值是否嚴格等于undefined,如果是undefined才會用默認值,除此之外,都是優先用右邊提供的值。

let [m = 1, n = 2] = [undefined, null];
console.log(m, n); //1,null

默認值支持是一個表達式,比如一個函數,賦值規則還是遵守先看右邊是否為undefined。

function func1() {  return 2;
}
let [o = func1()] = [1];
console.log(o); //1

默認值支持使用別的變量,但前提是這個變量已經提前聲明,否則會報錯

let [p = 1, q = p] = [];
console.log(p, q); //1,1

二、對象的解構賦值

    1.基本用法

對象解構賦值與數組有些不同,數組像按照等號對稱的賦值,而對象是按照key名相同賦值,與順序無關

let { a, b } = { b: 1, a: 2 };
console.log(a, b); //2,1


中文无码妇乱子二区三区_久久亚洲精品无码福利播放_毛片一级_日韩aⅴ无码久久精品免费

<b id="wionh"></b>

<u id="wionh"><address id="wionh"><meter id="wionh"></meter></address></u>

<