让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 面向对象的 私有成员和公开成员
May 13 Javascript
js 连接数据库如何操作数据库中的数据
Nov 23 Javascript
jQuery easyui datagrid动态查询数据实例讲解
Feb 26 Javascript
利用jquery包将字符串生成二维码图片
Sep 12 Javascript
jQuery实现点击文本框弹出热门标签的提示效果
Nov 17 Javascript
js实现有时间限制消失的图片方法
Feb 27 Javascript
jQuery-1.9.1源码分析系列(十)事件系统之事件包装
Nov 20 Javascript
使用jQuery+EasyUI实现CheckBoxTree的级联选中特效
Dec 06 Javascript
JavaScript实现提交模式窗口后刷新父窗口数据的方法
Jun 16 Javascript
Vue-Router基础学习笔记(小结)
Oct 15 Javascript
关于layui时间回显问题的解决方法
Sep 24 Javascript
VUE项目axios请求头更改Content-Type操作
Jul 24 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 tp验证表单与自动填充函数代码
2012/02/22 PHP
PHP下通过QRCode类库创建中间带网站LOGO的二维码
2014/07/12 PHP
详解no input file specified 三种解决方法
2019/11/29 PHP
JavaScript isArray()函数判断对象类型的种种方法
2010/10/11 Javascript
使用JavaScript检测Firefox浏览器是否启用了Firebug的代码
2010/12/28 Javascript
js实现翻页后保持checkbox选中状态的实现方法
2012/11/03 Javascript
JavaScript实现网页上的浮动广告的简单方法
2013/06/14 Javascript
对之前写的jquery分页做下升级
2014/06/19 Javascript
JavaScript中的Math.atan2()方法使用详解
2015/06/15 Javascript
jQuery插件EasyUI校验规则 validatebox验证框
2015/11/29 Javascript
详解Angular的内置过滤器和自定义过滤器【推荐】
2016/12/26 Javascript
bootstrap suggest下拉框使用详解
2017/04/10 Javascript
jQueryeasyui 中如何使用datetimebox 取两个日期间相隔的天数
2017/06/13 jQuery
利用require.js与angular搭建spa应用的方法实例
2017/07/19 Javascript
JSONP原理及应用实例详解
2018/09/13 Javascript
JavaScript实现新年倒计时效果
2018/11/17 Javascript
[00:32]2018DOTA2亚洲邀请赛出场——LGD
2018/04/04 DOTA
python字符串连接的N种方式总结
2014/09/17 Python
17个Python小技巧分享
2015/01/23 Python
在Python中使用HTML模版的教程
2015/04/29 Python
python自动发邮件总结及实例说明【推荐】
2019/05/31 Python
django之从html页面表单获取输入的数据实例
2020/03/16 Python
opencv+pyQt5实现图片阈值编辑器/寻色块阈值利器
2020/11/13 Python
英国最大的正宗复古足球衫制造商和零售商:TOFFS
2018/06/21 全球购物
如果NULL定义成#define NULL((char *)0)难道不就可以向函数传入不加转换的NULL了吗
2012/02/15 面试题
String、StringBuffer、StringBuilder有区别
2015/09/18 面试题
业务员的岗位职责
2014/03/15 职场文书
对教师的评语
2014/04/28 职场文书
廉洁自律演讲稿
2014/05/22 职场文书
爱祖国爱家乡演讲稿
2014/09/02 职场文书
大学生毕业个人总结
2015/02/15 职场文书
大学毕业典礼致辞
2015/07/29 职场文书
银行大堂经理培训心得体会
2016/01/09 职场文书
vue项目proxyTable配置和部署服务器
2022/04/14 Vue.js
vue使用localStorage持久性存储实现评论列表
2022/04/14 Vue.js
Win11快速关闭所有广告推荐
2022/04/19 数码科技