運算符

解構運算符
我的理解:就是將整個數組或者對象 傳給一個載體,或對象,或函數,那麼只須要定義接收者就好了,載體的接收者會自動爲期賦值。

解構運算符---用來賦值數組

//數組類型的
let arr = ['hello', 1, 2];
let [a, b, c] = arr;
console.log(a);//hello
console.log(b);//1
console.log(c);//2


//對象類型的

let obj = {
    name: 'MrD',
    age: 26,
    son: {
        sonname: '大熊',
        sonage: 1
    }
};
let {name, sex, age, son} = obj;
console.log(name ,sex ,age); //MrD
console.log(son); // { sonname: '大熊', sonage: 1 }

 

解構運算符---用來傳參函數

//數組類型的
let arr = ['hello', 1, 2];
//方法
fn1([a, b, c]) {
    console.log(a);
    console.log(b);
    console.log(c);
}





//對象類型的
let obj = {
    name: 'MrD',
    age: 26,
    son: {
        sonname: '大熊',
        sonage: 1
    }
};
//方法
fn2({a, b, c}) {
    console.log(a);
    console.log(b);
    console.log(c);
}

 

擴展運算符
擴展運算符用三個點號表示,功能是把數組(或類數組對象)展開成一系列用逗號隔開的值spa

//方法
fn([a, b, c]) {
    console.log(a);
    console.log(b);
    console.log(c);
}

//數組類型的
let arr = ['hello', 1, 2];
fn(...arr)

 

rest運算符
rest運算符也是三個點號,不過其功能與擴展運算符剛好相反,把逗號隔開的值序列組合成一個數組rest

//方法
fn(...args) {
    //主要用於不定參數,因此ES6開始能夠再也不使用arguments對象
    for (let el of args) {
        console.log(el);
    }
}

fn('hello', 1, 2)
相關文章
相關標籤/搜索