ES6解构赋值与扩展运算符

解构赋值

解构赋值,可以实现直接从数组或者对象中取值赋值给变量

let [变量名, 变量名2, , 变量名4] = [值, 值2, 值3, 值4]
// 相当于
let 变量名 = 数组[0]
let 变量名2 = 数组[1]
let 变量名4 = 数组[3]


let { 变量名, 变量名2 } = { 属性名: "值", 变量名2(本质是属性名): "值" } // 属性名和变量需要相同

let { a, b } = { a: 1, b: 2 } 

解构赋值很容易遇到一种情况,我们要使用的名字和已有变量名冲突(重复)了

let name = "张三"

let {name, age} = {
  name: "李四",
  age: 18
}

// 因为name已经声明了,所以第三行的name就会报错:变量已经声明
// 我们可以使用别名解决这个问题
let {name: 别名, age} = {
	name: "李四",
  age: 18
}

// 别名就是变量名

扩展运算符

扩展运算的作用可以简单理解为:把数组的中括号,和对象的{}直接去掉。直接去除后,里面的数据格式,我是无法在JS的环境的中独立存在。扩展运算符的操作需要被放置在合适的位置上。

let arr = [1,2,3]
let _arr = [...arr] // [1,2,3] 这是一个浅拷贝过程

let obj = {a: 1, b: 2, c: 3}
let _obj = {...obj} // {a: 1, b: 2, c: 3} 这是一个浅拷贝过程

let arr2 = [...arr, ...arr] // [1,2,3,1,2,3]

在我们使用map操作时,可以保留原有数据的基础上,添加新的属性

let arr = [{name: "张三"}, {name: "李四"}]

arr.map(stu => {
  return {
    ...stu,
    classroom: "高三11班"
  }
})

csdn文章推荐受影响解决办法10个字10行

csdn文章推荐受影响解决办法10个字10行

csdn文章推荐受影响解决办法10个字10行

csdn文章推荐受影响解决办法10个字10行

csdn文章推荐受影响解决办法10个字10行

csdn文章推荐受影响解决办法10个字10行

csdn文章推荐受影响解决办法10个字10行

csdn文章推荐受影响解决办法10个字10行

csdn文章推荐受影响解决办法10个字10行

csdn文章推荐受影响解决办法10个字10行

csdn文章推荐受影响解决办法10个字10行

csdn文章推荐受影响解决办法10个字10行

csdn文章推荐受影响解决办法10个字10行

csdn文章推荐受影响解决办法10个字10行

猜你喜欢

转载自blog.csdn.net/qq_45547094/article/details/126967006