让JavaScript代码更加精简的方法技巧


Posted in Javascript onJune 01, 2022

前言:

使用 JavaScript 对象解构来节省代码,JavaScript 对象解构赋值在项目开发中是一个常用的技能。

先来看一个 article 对象,有两个属性 title 和 description

const article = {
    title: "JavaScript对象解构赋值",
    description:
        "解构是一个概念,分解其中一种数据类型并将其单独的属性分配给变量",
};

在 ES6 之前,需要将对象的属性赋值给变量时,通常是这样做:

const title = article.title;
const description = article.description

但是 ES6 引入了对象解构语法,它提供了另一种将对象属性赋值给变量的方法:

const { title, description: desc } = article;
console.log(title); // JavaScript对象解构赋值
console.log(desc); //  解构是一个概念,分解其中一种数据类型并将其单独的属性分配给变量

上述代码将属性 title 和 description 属性赋值给变量 title 和 desc 。

语法说明: 冒号 (:) 之前的标识符是对象的属性,冒号之后的标识符是新定义的变量。

对象解构示例 {}

解构空对象

使用 OR 运算符 || 为空对象定义默认值,在对象为 null 的情况下定义一个默认值空对象 {} 。

function getArticle() {
    return null;
}
const { title, description } = getArticle() || {};

// 错误的情况
const { title, description } = getArticle() ;

嵌套对象解构

直接看下面代码:

const article = {
    id: 1001,
    detail: {
        title: "JavaScript对象解构赋值",
        description:
            "解构是一个概念,分解其中一种数据类型并将其单独的属性分配给变量",
    },
};
const {
    detail: { title, description },
    detail,
} = article;
console.log(title); // JavaScript对象解构赋值
console.log(description); // 解构是一个概念,分解其中一种数据类型并将其单独的属性分配给变量
console.log(detail); // { title: 'JavaScript对象解构赋值', description: '解构是一个概念,分解其中一种数据类型并将其单独的属性分配给变量' }

注意:对象解构默认将对象的属性分配给具有相同名称的变量。

到此这篇关于 让JavaScript代码更加精简的方法技巧的文章就介绍到这了,更多相关JS精简代码内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
JavaScript 学习笔记(十四) 正则表达式
Jan 22 Javascript
jquery下组织javascript代码(js函数化)
Aug 25 Javascript
javascript:json数据的页面绑定示例代码
Jan 26 Javascript
JavaScript通过join函数连接数组里所有元素的方法
Mar 20 Javascript
跟我学习JScript的Bug与内存管理
Nov 18 Javascript
jQuery获取select选中的option的value值实现方法
Aug 29 Javascript
详解vue 中使用 AJAX获取数据的方法
Jan 18 Javascript
详解浏览器渲染页面过程
Feb 09 Javascript
JS简单获取日期相差天数的方法
Apr 24 Javascript
vue监听input标签的value值方法
Aug 27 Javascript
jQuery实现的简单歌词滚动功能示例
Jan 07 jQuery
详解vue后台系统登录态管理
Apr 02 Javascript
cypress测试本地web应用
Jun 01 #Javascript
vue实现登陆页面开发实践
May 30 #Vue.js
Echarts如何重新渲染实例详解
May 30 #Javascript
vue router 动态路由清除方式
May 25 #Vue.js
vue如何清除浏览器历史栈
May 25 #Vue.js
ant design charts 获取后端接口数据展示
May 25 #Javascript
vue3不同环境下实现配置代理
May 25 #Vue.js
You might like
PHP 抽象方法与抽象类abstract关键字介绍及应用
2014/10/16 PHP
php获取指定数量随机字符串的方法
2017/02/06 PHP
PHP基于phpqrcode类生成二维码的方法详解
2018/03/14 PHP
Laravel路由研究之domain解决多域名问题的方法示例
2019/04/04 PHP
JavaScript 语言的递归编程
2010/05/18 Javascript
根据配置文件加载js依赖模块
2014/12/29 Javascript
JavaScript获取当前网页最后修改时间的方法
2015/04/03 Javascript
JS组件Bootstrap Table使用方法详解
2016/02/02 Javascript
JS实用技巧小结(屏蔽错误、div滚动条设置、背景图片位置等)
2016/06/16 Javascript
Angular.JS利用ng-disabled属性和ng-model实现禁用button效果
2017/04/05 Javascript
Node.js编写CLI的实例详解
2017/05/17 Javascript
AngularJS使用ng-repeat遍历二维数组元素的方法详解
2017/11/11 Javascript
vue 界面刷新数据被清除 localStorage的使用详解
2018/09/16 Javascript
编写v-for循环的技巧汇总
2020/12/01 Javascript
[01:56]林书豪DOTA2上海特级锦标赛励志短片
2016/03/05 DOTA
Python中的文件和目录操作实现代码
2011/03/13 Python
Python环境变量设置方法
2016/08/28 Python
基于python中的TCP及UDP(详解)
2017/11/06 Python
Python实现iOS自动化打包详解步骤
2018/10/03 Python
pyttsx3实现中文文字转语音的方法
2018/12/24 Python
Python中字典与恒等运算符的用法分析
2019/08/22 Python
使用PyCharm进行远程开发和调试的实现
2019/11/04 Python
Python判断三段线能否构成三角形的代码
2020/04/12 Python
python3 使用openpyxl将mysql数据写入xlsx的操作
2020/05/15 Python
Python 合并拼接字符串的方法
2020/07/28 Python
详解python日志输出使用配置文件格式
2021/02/10 Python
台湾团购、宅配和优惠券:17Life
2017/08/14 全球购物
教师求职信范文分享
2013/12/27 职场文书
师范毕业生自我鉴定
2014/01/15 职场文书
师范生求职信
2014/06/14 职场文书
上党课的心得体会
2014/09/02 职场文书
文明班级申报材料
2014/12/24 职场文书
刑事辩护词范文
2015/05/21 职场文书
小学新课改心得体会
2016/01/22 职场文书
励志语录:时光飞逝,请学会珍惜所有的人和事
2020/01/16 职场文书
postgresql无序uuid性能测试及对数据库的影响
2021/06/11 PostgreSQL