ES6 展开运算符

Posted afanadmin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ES6 展开运算符相关的知识,希望对你有一定的参考价值。

展开运算符 ...

数组展开运算符:

{
    // 展开运算符: 把一条数据展开了,或者把一个数组进行展开了.
    let arr = [1,2,3,4];
    // let arr2 = ["a","b","c","d"];//想把arr里面内容放到其中的位置
    let arr2 = ["a","b",...arr,"c","d"];
    console.log(arr2);//["a", "b", 1, 2, 3, 4, "c", "d"]

    // 通过配合解构赋值 -> 剩余参数
    let [a,b,...c] = arr;
    console.log(a,b,c);//1 2 [3, 4]
}

对象展开运算符:

{
    let obj = {
        a:1,
        b:2
    }
    let obj2 = {
        ...obj,
        c:3,
        d:4
    }
    console.log(obj2);//{a: 1, b: 2, c: 3, d: 4} 把obj所有内容都弄进来了!
    // 对象展开运算符中的剩余参数
    let {a,b,...c} = obj2;
    console.log(a,b,c); //1 2 {c: 3, d: 4}
}

对象的传址问题: 不建议对象直接进行复址,因为当另一个进行修改的时候,本来那个也是发生变化的.

{
    // 关于对象的传址的问题:
    let obj = {
        a:10,
        b:20
    }
    
    /* let obj2 = obj;
    obj2.a = 20;
    console.log(obj.a);//20; */

    let obj2 = {...obj}
    obj2.a = 20;
    console.log(obj.a);//10;没有发生变化
}

 

以上是关于ES6 展开运算符的主要内容,如果未能解决你的问题,请参考以下文章

ES6展开运算符的两个用法

ES6 -- 展开运算符

javascript兼容性:展开运算符 ... 的降级

web前端练习18----es6新语法5,展开运算符...

ES6中的展开运算符和解构对象

js之es6