站长资讯网
最全最丰富的资讯网站

JavaScript对象解构用法解析(实例详解)

本篇文章给大家带来了JavaScript中对象解构用法解析的相关知识,希望对大家有帮助。

JavaScript对象解构用法解析(实例详解)

ES6(ES2015)的发布,给JavaScript 提供了一种更方便快捷的方式来处理对象的属性。该机制称为Destructuring(也称为解构赋值)。但是你真的会用吗?你真的了解各种场景下,解构赋值的用法吗?

使用解构从对象中获取值

对象解构最基本的用法是从对象中检索属性键的值。

例如,我们定义了一个对象,他有两个属性:name和age

const User = {   name: '搞前端的半夏',   age: 18 }

传统上,我们将使用点 (.) 表示法或下标 ([]) 表示法从对象中检索值。下面的代码片段显示了使用点符号检索对象的值id和name从对象中检索值的示例。employee

在之前我们想要获取对象中某个属性的值,通产是使用.或者[]。

const name = User['name']; const age = User.age;

当然这两种方式在当前情况下是没有问题的,但是当User的属性多了,我们就要不停的复制粘贴,产生很多重复的代码。

有了结构赋值,我们就可以快速的来获取值。例如我们使用对象的键名来创建变量,并将对象的值分配给相同的键。这样无论有多少属性,我们只要赋值属性名即可,同样的也减少了很多重复代码。

const { name, age } = User;

使用解构从嵌套对象中获取值

在上面的例子中,User只是一个简单的单层对象,我们在日常的开发中也会遇到嵌套的对象,,那么使用结构赋值,我们该如何检索嵌套对象中的值。下面我们重新定义User对象,给这个对象新增一个contact属性,它包含着User的phone。。

const User = {   name: '搞前端的半夏',   age: '18',   contact:{     phone:'110',   } }

如果我们用.的当时来回去phone的值,则需要两次.

const phone = User.contact.phone;

如果使用解构赋值的话:则写法如下:

const  {contact:{phone}}=User consosle.log(phone)  // 输出10.

无论是多少层的嵌套,只要按照这个写法,一定会拿到具体的值。

使用对象解构定义一个新变量以及默认值

默认值

当然我们在日常开发的过程中,可能会遇到很多极端的情况,

例如后端传过来的对象,可能会缺失某些字段

const User = {   name: '搞前端的半夏', }

或者属性没有具体的值:

const User = {   name: '搞前端的半夏',   age: '' }

当我们使用解构赋值的话:无论是否存在age属性的话,都会创建age变量。

const { name, age } = employee;

当User.age没有具体值得话,我们则可以使用

const { name, age=18 } = employee;

给age一个默认值。

新变量

坚持,稍等。解构部分有

赞(0)
分享到: 更多 (0)