首页前端开发JavaScriptJavaScript对象解构用法解析(实例详解)

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

时间2024-01-31 06:09:03发布访客分类JavaScript浏览541
导读:收集整理的这篇文章主要介绍了JavaScript对象解构用法解析(实例详解),觉得挺不错的,现在分享给大家,也给大家做个参考。本篇文章给大家带来了JavaScript中对象解构用法解析的相关知识,希望对大家有帮助。ES6(ES2015)的发...
收集整理的这篇文章主要介绍了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}
}
    =Userconsosle.LOG(phone)  // 输出10.

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

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

默认值

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

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

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

或者属性没有具体的值:

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

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

const {
 name, age }
     = employee;
    

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

const {
 name, age=18 }
     = employee;
    

给age一个默认值。

新变量

坚持,稍等。解构部分有更多的魔力展示!如何创建一个全新的变量并分配一个使用对象属性值计算的值?听起来很复杂?这是一个例子,

当我们想输出User属性的组合值的话,应该怎么做呢?

const {
 name,age,detail = `${
name}
 今年 ${
age}
 `}
     = User ;
    console.log(detail);
     // 输出:搞前端的半夏 今年 18

使用 JavaScript 对象解构别名

在 JavaScript 对象解构中,您可以为解构变量alias命名。减少变量名冲突的机会非常方便。

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

假设我们想用解构赋值获取age属性的值,但是代码中已经又age这个变量了,我们这个时候就需要在结构的时候定义别名。

const {
 age: userAge }
     = User;
    console.log(userAge);
     //搞前端的半夏

而如果使用age的话,会报错。

console.log(age);
    

使用对象解构处理动态名称属性

我们经常将 API 响应数据作为 JavaScript 对象处理。这些对象可能包含动态数据,因此作为客户端,我们甚至可能事先不知道属性键名称。

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

当我们将键作为参数传递时,我们可以编写一个返回User对象属性值的函数。这里我们使用了[],来接受参数,js会根据这个键对从对象中检索!

function getPRoPErtyValue(key) {
    const {
 [key]: returnValue }
     = User;
           return returnValue;
}
    
const contact = getPropertyValue('contact');
    const name = getPropertyValue('name');
    console.log(contact, name);
     // 空  搞前端的半夏

在函数参数和返回值中解构对象

解构赋值传参

使用对象解构将属性值作为参数传递给函数。

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

name现在让我们创建一个简单的函数,该函数使用和属性值创建一条消息dept以登录到浏览器控制台。

function consoleLogUser({
name, age}
) {
  console.log(`${
name}
 今年 ${
age}
    `);
 }
    

直接将值作为函数参数传递并在内部使用它们。

consoleLogUser(User);
     // 搞前端的半夏 今年 18

解构函数对象返回值

对象解构函数还有另一种用法。如果函数返回一个对象,您可以将值直接解构为变量。让我们创建一个返回对象的函数。

function getUser() {
  return {
    'name': '搞前端的半夏',    'age': 18  }
}
    
const {
 age }
     = getUser();
    console.log(age);
     // 18

在循环中使用对象解构

我们将讨论的最后一个(但并非最不重要的)用法是循环解构。让我们考虑一组员工对象。我们想要遍历数组并想要使用每个员工对象的属性值。

const User= [  {
        'name': '爱分享的半夏',    'age': 16  }
,  {
       'name': '搞前端的半夏',    'age': 18  }
,  {
         'name': '敲代码的半夏',    'age': 20  }
    ];
    

您可以使用for-of循环遍历User对象,然后使用对象解构赋值语法来检索详细信息。

for(let {
name, age}
 of employees) {
  console.log(`${
name}
 今年${
age}
    岁!!!`);
}
    

相关推荐:javascript学习教程

以上就是JavaScript对象解构用法解析(实例详解)的详细内容,更多请关注其它相关文章!

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!

javascript前端

若转载请注明出处: JavaScript对象解构用法解析(实例详解)
本文地址: https://pptw.com/jishu/593581.html
c反射和序列化是什么 精通c语言能做什么

游客 回复需填写必要信息