1. 使用对象结构并且重命名
| |
| let person = { |
| name: 'Matt', |
| age: 27 |
| }; |
| let { name: personName, age: personAge } = person; |
| console.log(personName); |
| console.log(personAge); |
2. 引用的属性不存在
解构赋值不一定与对象的属性匹配。赋值的时候可以忽略某些属性,而如果引用的属性不存在,则该变量的值就是 undefined。也可以在解构赋值的同时定义默认值,这适用于引用的属性不存在于源对象中的情况。
| let person = { |
| name: 'Matt', |
| age: 27 |
| }; |
| let { name, job='Software engineer' } = person; |
| console.log(name); |
| console.log(job); |
3. 给事先声明的变量赋值
解构并不要求变量必须在解构表达式中声明。不过,如果是给事先声明的变量赋值,则赋值表达式必须包含在一对括号中。
| let personName, personAge; |
| let person = { |
| name: 'Matt', |
| age: 27 |
| }; |
| ({name: personName, age: personAge} = person); |
| console.log(personName, personAge); |
4. 嵌套解构
解构赋值可以使用嵌套结构,以匹配嵌套的属性。
| let person = { |
| name: 'Matt', |
| age: 27, |
| job: { |
| title: 'Software engineer' |
| } |
| }; |
| |
| let { job: { title } } = person; |
| console.log(title); |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· Vue3状态管理终极指南:Pinia保姆级教程