JavaScript中展开语法(浅拷贝)

展开语法(Spread syntax): 可以在函数调用/数组构造时,将数组表达式或者string在语法层面展开; 还可以在构造字面量对象时, 将对象表达式按key-value的方式展开;

展开运算符的使用场景

函数调用时使用

const names = ["abc", "nba", "cba", "jjj"]
const str = "Hello"
function foo(name1, name2, ...args){
    console.log(name1, name2, args)
}
foo(...names)

将names数组展开作为参数,在调用foo函数的时候使用。

数组构造时使用

const names = ["abc", "nba", "cba", "jjj"]
const newNames = [...names, "aaa", "bbb"]
console.log(newNames)// ["abc", "nba", "cba", "jjj", "aaa", "bbb"]

将names数组展开作为newNames数组的一部分。

构建对象字面量的时候,也可以使用展开运算符

const obj = {
        name: "weng",
        age: 18
      }

      const info = {
        ...obj,
        friend: "zzp",
        address: "sz"
      }

这样算是一种浅拷贝。

如何实现深拷贝。

const info3 = JSON.parse(JSON.stringify(obj))

猜你喜欢

转载自blog.csdn.net/m0_51636525/article/details/125234801