广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >JavaScript对象解构的用法实例解析
  • 752
分享到

JavaScript对象解构的用法实例解析

2024-04-02 19:04:59 752人浏览 独家记忆
摘要

目录前言使用解构从对象中获取值使用解构从嵌套对象中获取值使用对象解构定义一个新变量以及默认值默认值新变量使用 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一个默认值。

新变量

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

当我们想输出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对象解构用法的文章就介绍到这了,更多相关js对象解构用法内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: JavaScript对象解构的用法实例解析

本文链接: https://www.lsjlt.com/news/163458.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • JavaScript对象解构的用法实例解析
    目录前言使用解构从对象中获取值使用解构从嵌套对象中获取值使用对象解构定义一个新变量以及默认值默认值新变量使用 JavaScript 对象解构别名使用对象解构处理动态名称属性在函数参数...
    99+
    2022-11-13
  • JavaScript对象和数组的解构赋值实例分析
    本文小编为大家详细介绍“JavaScript对象和数组的解构赋值实例分析”,内容详细,步骤清晰,细节处理妥当,希望这篇“JavaScript对象和数组的解构赋值实例分析”文章能帮助大家解决疑惑,下面跟着小编...
    99+
    2022-10-19
  • 实例详解python类对象的析构释放
    本篇文章给大家带来了关于Python的相关知识,其中主要介绍了python类对象的析构释放代码演示,文章围绕主题展开详细的内容介绍,下面一起来看一下,希望对大家有帮助。前端(vue)入门到精通课程:进入学习【相关推荐:Python3视频教程...
    99+
    2022-09-08
  • JavaScript对象解构的用法是什么
    本篇文章给大家分享的是有关JavaScript对象解构的用法是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。前言ES6(ES2015)的发布,给JavaScript 提供了...
    99+
    2023-06-28
  • JavaScript对象解构怎么用
    这篇文章主要介绍“JavaScript对象解构怎么用”,在日常操作中,相信很多人在JavaScript对象解构怎么用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”JavaSc...
    99+
    2022-10-19
  • JavaScript中的对象解构方法怎么使用
    这篇文章主要介绍“JavaScript中的对象解构方法怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“JavaScript中的对象解构方法怎么使用”文章能帮助大家解决问题。基础解构const&...
    99+
    2023-07-05
  • JavaScript对象、对象属性、对象方法的示例分析
    这篇文章主要介绍JavaScript对象、对象属性、对象方法的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!JavaScript 变量是数据值的容器。 这段代码把一个单一值...
    99+
    2022-10-19
  • ES6中对象解构赋值应用的示例分析
    小编给大家分享一下ES6中对象解构赋值应用的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!...
    99+
    2022-10-19
  • 实例解析Python的Twisted框架中Deferred对象的用法
    Deferred对象结构 Deferred由一系列成对的回调链组成,每一对都包含一个用于处理成功的回调(callbacks)和一个用于处理错误的回调(errbacks)。初始状态下,deffereds将由两...
    99+
    2022-06-04
    框架 实例 对象
  • C++对象的构造实例分析
    这篇“C++对象的构造实例分析”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“C++对象的构造实例分析”文章吧。一、对象的构造...
    99+
    2023-06-30
  • JavaScript中Number的对象解析
    目录Number对象是什么静态属性实例方法Number.prototype.toString()Number.prototype.toFixed()Number.prototype....
    99+
    2022-11-13
  • JavaScript对象方法中绑定实例分析
    今天小编给大家分享一下JavaScript对象方法中绑定实例分析的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我...
    99+
    2022-10-19
  • 如何理解javascript中的实例化对象
    本篇内容介绍了“如何理解javascript中的实例化对象”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2022-10-19
  • JavaScript中Function对象语法的实例用法
    本篇内容主要讲解“JavaScript中Function对象语法的实例用法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“JavaScript中Function对...
    99+
    2022-10-19
  • Android 解析JSON对象及实例说明
    JSON是一种轻量级的对象,数据体积小,方便传输,易于解析! 首先新建一个类工具类JsonUtil,用于获取请求返回的数据 代码如下:public class JsonUtil...
    99+
    2022-06-06
    JSON Android
  • ES6z2对象新功能与解构赋值的示例分析
    小编给大家分享一下ES6z2对象新功能与解构赋值的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!ES6 通过字面量语法扩...
    99+
    2022-10-19
  • JavaScript中的内置对象实例分析
    这篇文章主要介绍“JavaScript中的内置对象实例分析”,在日常操作中,相信很多人在JavaScript中的内置对象实例分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”JavaScript中的内置对象实...
    99+
    2023-06-29
  • javascript中location对象方法的示例分析
    这篇文章将为大家详细讲解有关javascript中location对象方法的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。javascript是一种什么语言javascript是一种动态类型、弱类...
    99+
    2023-06-14
  • 一起再看JavaScript中的对象解构
    解构是一个概念,分解其中一种数据类型并将其单独的属性分配给变量,在文章《JavaScript 解构赋值 5 个常见场景和实例》中介绍过,今天再来复习一下。基础解构const fullName = { firstName: "...
    99+
    2023-05-14
    JavaScript ECMAScript 6 Vue.js
  • JavaScript解构赋值的示例分析
    这篇文章给大家分享的是有关JavaScript解构赋值的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。概念ES6提供了更简洁的赋值模式,从数组和对象中提取值,这被称为解构...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作