ES6中的解构

解构的定义:从数组或者对象中提取值并对变量进行赋值成为解构,解构时左边的变量就会被赋予对应的值。如果解构不成功,变量的值就等于undefined。

1.数组解构

1.完全解构

let [a, b, c, d, e] = [1, 2, 3, [4, 5], 6]
console.log(a, b, c, d, e);

2.不完全解构

let [a, b, c, [d], e] = [1, 2, 3, [4, 5, 6], 7]

并不是每个变量都可以赋值到

3.默认值解构(当默认值生效条件 当右侧匹配严格模式为undefined)

let [a = 1, b = 2, c = 3] = [4, 5, 6]
// console.log(a, b, c);

4.集合解构,拓展运算符

let [a, ...b] = [1, 2, 3, 4]
console.log(a, b);

5.拓展运算符

let [...arr] = [1, 2, 3, 4, 5]
console.log(arr);

2.对象解构

1.属性名必须和变量名一致才能取到值

let { name, age } = { name: 'zhangsan', age: 12 }
console.log(name, age);

2.属性名和变量名不一致 给属性名重命名

let { name: a, age: b } = { name: 'zhangsan', age: 12 }
 console.log(a, b);

3.嵌套结构

let obj = { p: ['hello', { y: "world" }] }; //a b取到hello world
let { p: [a, { y: b }] } = obj
console.log(a, b);

4.对象默认值解构

let { x: y = 8 } = { x: 6 }
 console.log(y);

3.字符串解构

1.使用数组进行字符串解构

let [a, b, c, d, e] = 'hello'
console.log(a, b, c, d, e);

2.使用拓展运算符解构

let [...arr] = 'world'
console.log(arr);

3.使用对象解构字符串

String.prototype.toString / valueOf / length
let { toString, valueOf, length } = 'hello'
console.log(toString, valueOf, length);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值