第五讲_JavaScript解构赋值

本文详细介绍了JavaScript中的解构赋值概念,包括数组解构(处理多余变量和省略元素)、对象解构(属性名与变量匹配)、数组对象解构以及多级对象解构的方法和示例。
摘要由CSDN通过智能技术生成

1. JavaScript解构赋值概念

JavaScript的解构赋值是指通过模式匹配从数组对象中提取值并将其分配给变量。

2. 数组解构

数组解构的格式:变量名放在一个[]中,变量名之间用,分隔。

  • 当变量数大于数组元素个数时,多余的变量被初始化为undefined
  • 当变量数小于数组元素个数时,多余的数组元素舍弃
// a = '张三', b = '李四'
const [a, b] = ['张三', '李四'];

// a = '张三', b = '李四', 数组第三个元素被舍弃
const [a, b] = ['张三', '李四', '王五'];

// a = '张三', b = '李四', c = undefined
const [a, b, c] = ['张三', '李四'];

// ...三个点是解构符,等价于上面写法
const arr = ['张三', '李四', '王五'];
const [a, b, c] = [...arr];

3. 对象解构

对象解构就是把对象的属性名与变量名匹配,然后赋值。

  • 属性名与变量名一致才可以赋值
  • 不一致可以给变量重命名

对象解构的格式:变量名放在一个{}中,变量名之间用,分隔。

// 变量名必须与对象属性名一致,name = '张三', age = 18
const {name, age} = {name: '张三', age: 18}

// username: name  意思是变量username重命名为name
const {username: name, age} = {username: '张三', age: 18}

// ...三个点是解构符,等价于上面写法
const student = {
  username: '张三',
  age: 18
}
const {username, age} = {...student}

4. 数组对象解构

数组对象就是数组里的元素是对象类型。

数组对象解构的格式:变量名放在一个[{}]中,变量名之间用,分隔。

const [{name, age}] = [{name = '张三', age = 18}];
const student1 = {
    username: '张三',
    age: 18
  }

const student2 = {
    username: '李四',
    age: 19
  }

const student3 = {
    username: '王五',
    age: 20
  }

const students = [student1, student2, student3]

const [{username: username1, age: age1}, {username: username2, age: age2}, {username: username3, age: age3}] = [...students]

5. 多级对象解构

多级对象就是对象里面包含对象。

const student = {
  name: '张三',
  age: 18,
  family: {
    father: '张大',
    mother: '肉丝'
  }
}

const {name, age, family: {father, mother}} = {...student}

ps:不管解构的对象多么复杂,我们只需要搞清楚它的结构,像俄罗斯套娃一样,用[]{}进行嵌套即可。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值