解构赋值,可以实现直接从数组或者对象中取值赋值给变量
- 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行