让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 相关文章推荐
tbody元素支持嵌套的注意方法
Mar 24 Javascript
仿163填写邮件地址自动显示下拉(无优化)
Nov 05 Javascript
Javascript实现返回上一页面并刷新的小例子
Dec 11 Javascript
Javascript 实现图片无缝滚动
Dec 19 Javascript
Javascript动态创建div的方法
Feb 09 Javascript
详解JavaScript的策略模式编程
Jun 24 Javascript
在JavaScript中对HTML进行反转义详解
May 18 Javascript
jQuery+Pdo编写login登陆界面
Aug 01 Javascript
JS实现动态修改table及合并单元格的方法示例
Feb 20 Javascript
浅析bootstrap原理及优缺点
Mar 19 Javascript
JS获取填报扩展单元格控件的值的解决办法
Jul 14 Javascript
Vue-cli assets SubDirectory及PublicPath区别详解
Aug 18 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
单一index.php实现PHP任意层级文件夹遍历(Zjmainstay原创)
2012/07/31 PHP
浅谈Laravel队列实现原理解决问题记录
2017/08/19 PHP
JS 对象介绍
2010/01/20 Javascript
jquery ajax return没有返回值的解决方法
2011/10/20 Javascript
运算符&&的三个不同层次
2013/04/07 Javascript
js switch case default 的用法示例介绍
2013/10/23 Javascript
JS实现不使用图片仿Windows右键菜单效果代码
2015/10/22 Javascript
js如何判断输入字符串长度
2015/12/16 Javascript
jQuery遍历json的方法(推荐)
2016/06/12 Javascript
BootStrap使用file-input插件上传图片的方法
2016/09/05 Javascript
jQuery检查元素存在性(推荐)
2016/09/17 Javascript
微信小程序wx.uploadfile 本地文件转base64的实现代码
2018/06/28 Javascript
Angularjs实现页面模板清除的方法
2018/07/20 Javascript
深入理解使用Vue实现Context-Menu的思考与总结
2019/03/09 Javascript
js实现移动端tab切换时下划线滑动效果
2019/09/08 Javascript
vue中axios的二次封装实例讲解
2019/10/14 Javascript
Vue如何实现变量表达式选择器
2021/02/18 Vue.js
python 网络编程详解及简单实例
2017/04/25 Python
对numpy中轴与维度的理解
2018/04/18 Python
用python编写第一个IDA插件的实例
2018/05/29 Python
python的pip安装以及使用教程
2018/09/18 Python
解决python中os.listdir()函数读取文件夹下文件的乱序和排序问题
2018/10/17 Python
利用Python如何实现一个小说网站雏形
2018/11/23 Python
对python dataframe逻辑取值的方法详解
2019/01/30 Python
打包python 加icon 去掉cmd黑窗口方法
2019/06/24 Python
利用Python进行图像的加法,图像混合(附代码)
2019/07/14 Python
numpy创建单位矩阵和对角矩阵的实例
2019/11/29 Python
python使用openCV遍历文件夹里所有视频文件并保存成图片
2020/01/14 Python
open_basedir restriction in effect. 原因与解决方法
2021/03/14 PHP
使用before和:after伪类制作css3圆形按钮
2014/04/08 HTML / CSS
世界上最大的汽车共享网站:Zipcar
2017/01/14 全球购物
2014教师专业技术工作总结
2014/12/03 职场文书
个人年度总结报告
2015/03/09 职场文书
Python实现8种常用抽样方法
2021/06/27 Python
Java8中Stream的一些神操作
2021/11/02 Java/Android
MySQL优化之慢日志查询
2022/06/10 MySQL