5、对象解构

1、数组解构与对象解构对比

因为数组中的元素有下标,是有顺序规则的,所以数组的解构可以通过位置进行提取,
而对象里的成员没有固定次序,不能像数组一样按照位置提取,那么对象的解构是通过属性名进行提取的

2、对象解构基本用法

  • 书写方式及匹配原则:对象解构使用花括号,花括号里面的变量名要匹配解构对象中的属性名去提取其中的值,如果不能匹配到则返回undefined
  • 设置默认值:对象解构同数组解构一样也可以设置默认值
  • 重命名:由于解构的变量名用来匹配被解构对象中的属性名的,如果碰到作用域中有同名成员会产生冲突而已用重命名的方式解决
const obj = { name: 'Judy', age: 18, sex: 'f', address: 'sh'}

// 匹配
const {name, age} = obj
console.log(name, age)  // Judy 18

// 不匹配
const { cc } = obj
console.log(cc) // undefined

// 设置默认值,能匹配到值就返回该值,匹配不到则返回默认值
const { sex = 'm',  dd = 'nothing'} = obj
console.log(sex, dd) // f nothing

// 重命名解决变量同名冲突
const address = 'beijing'
// :前面是解构对象对应的属性名,addressResult则是我们最终提取到的值用来存储的变量
const { address: addressResult } = obj
console.log(address, addressResult) // beijing sh

// 重命名和设置默认值可以同时使用
const { name: nameResult = 'Anan', old: oldResult = 20} = obj
console.log(nameResult, oldResult) // Judy 20

3、使用场景举例


目的:简化代码编写,代码体积变小,书写起来也会更方便、速度更快,特别是大量重复使用的情况下

const { log } = console
log('我是简化后的console.log') // 我是简化后的console.log


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值