es6扩展运算符的使用

扩展运算符用在数组前面,会把数组展开变成各个独立的值

var a = [1, 2, 3, 4]
var b = [...a, 5, 6];
console.log(b);
// 输出【1,2,3,4,5,6】

扩展运算符还可以把一系列的值搜集在一起,变成一个数组

function foo(x, b, ...c) {
    console.log(x, b, c)
};
//1 2  [3, 4, 5, 6]
foo(1, 2, 3, 4, 5, 6);

//上面这一段代码,就是把剩下的参数搜集在一起,变成一个数组。

es6

// function he(a, b, c) {
// 	console.log(a, b, c);
// 	//输出 1  2  3
// }
// he(...[1, 2, 3])

es5的做法,增加一个apply,然后在添加一个参数
function he(a, b, c) {
    console.log(a, b, c);
    //输出 1 2 3
}
he.apply(null, [1, 2, 3])

为啥这样也可以呢 apply ???
我忘记了apply的作用了[尴尬,也不想去看]

合并对象

<script>
    // 使用扩展运算符合并对象, 如果出现相同的属性,后面的属性会覆盖前面的属性
    const obj1={
        name:'张三1',
        age:10,
        sex:'男',
        weight:'66kg'
    }

    const obj2={
        name:'张三',
        age:10,
        sex:'男',
        like:['追剧', '写低吗']
    }

    let newObj={
        ... obj1,
        ...obj2
    }
    console.log( 'newObj',newObj )
</script>

总结扩展运算符

1. 当数据在在一起的时候,扩展运算符可以将他们拆开
2. 当数据分散的时候,扩展运算符可以将他们合并在一起
3. 合并对象
posted @ 2020-04-04 15:09  南风晚来晚相识  阅读(592)  评论(0编辑  收藏  举报