让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 相关文章推荐
for 循环性能比较 提高for循环的效率
Mar 19 Javascript
jQuery.autocomplete 支持中文输入(firefox)修正方法
Mar 10 Javascript
jquery $.each()使用探讨
Sep 23 Javascript
javascript间隔刷新的简单实例
Nov 14 Javascript
javascript 获取HTML DOM父、子、临近节点
Jun 16 Javascript
推荐25个超炫的jQuery网格插件
Nov 28 Javascript
JavaScript判断微信浏览器实例代码
Jun 13 Javascript
arcgis for js 修改infowindow样式的方法
Nov 02 Javascript
Vuex中mutations与actions的区别详解
Mar 01 Javascript
Vue动态生成el-checkbox点击无法赋值的解决方法
Feb 21 Javascript
vue 实现模糊检索并根据其他字符的首字母顺序排列
Sep 19 Javascript
利用JS代码自动删除稿件的普通弹幕功能
Sep 20 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中在数据库中保存Checkbox数据(1)
2006/10/09 PHP
用PHP实现的随机广告显示代码
2007/06/14 PHP
php面向对象中static静态属性和静态方法的调用
2015/02/08 PHP
PHP后台实现微信小程序登录
2018/08/03 PHP
js实现倒计时时钟的示例代码
2013/12/17 Javascript
利用js读取动态网站从服务器端返回的数据
2014/02/10 Javascript
jquery移动节点实例
2015/01/14 Javascript
transport.js和jquery冲突问题的解决方法
2015/02/10 Javascript
JavaScript中判断函数、变量是否存在
2015/06/10 Javascript
jquery+正则实现统一的表单验证
2015/09/20 Javascript
基于JavaScript实现瀑布流布局(二)
2016/01/26 Javascript
理解javascript中的MVC模式
2016/01/28 Javascript
JS实时弹出新消息提示框并有提示音响起的实现代码
2016/04/20 Javascript
如何在Angular2中使用jQuery及其插件的方法
2017/02/09 Javascript
详解NODEJS基于FFMPEG视频推流测试
2017/11/17 NodeJs
Javascript 关于基本类型和引用类型的个人理解
2019/11/01 Javascript
js实现移动端轮播图滑动切换
2020/12/21 Javascript
[13:39]2014 DOTA2华西杯精英邀请赛 5 25 NewBee VS DK第一场
2014/05/26 DOTA
[01:32]TI珍贵瞬间系列(一)
2020/08/26 DOTA
pymysql 开启调试模式的实现
2019/09/24 Python
浅析Python数字类型和字符串类型的内置方法
2019/12/22 Python
使用python turtle画高达
2020/01/19 Python
Python集成开发工具Pycharm的安装和使用详解
2020/03/18 Python
OpenCV 表盘指针自动读数的示例代码
2020/04/10 Python
Python tkinter实现简单加法计算器代码实例
2020/05/13 Python
Python random模块的使用示例
2020/10/10 Python
世界知名接发和假发品牌:Poze Hair
2017/03/08 全球购物
请用用Java代码写一个堆栈
2012/01/26 面试题
银行实习人员自我鉴定
2013/09/22 职场文书
大学生咖啡店创业计划书
2014/01/21 职场文书
会计岗位职责
2015/02/03 职场文书
酒店工程部主管岗位职责
2015/04/16 职场文书
2015选调生工作总结
2015/07/24 职场文书
浅谈node.js中间件有哪些类型
2021/04/29 Javascript
OpenCV项目实践之停车场车位实时检测
2022/04/11 Python
正则表达式基础与常用验证表达式
2022/06/16 Javascript