让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与vbscript数据共享
Jan 09 Javascript
超清晰的document对象详解
Feb 27 Javascript
JavaScript学习历程和心得小结
Aug 16 Javascript
使用js 设置url参数
Jul 08 Javascript
21个值得收藏的Javascript技巧
Feb 04 Javascript
js鼠标点击图片切换效果代码分享
Aug 26 Javascript
再谈Javascript中的异步以及如何异步
Aug 19 Javascript
JS实现的驼峰式和连字符式转换功能分析
Dec 21 Javascript
angularjs实现的前端分页控件示例
Feb 10 Javascript
通过js给网页加上水印背景实例
Jun 17 Javascript
微信小程序 下拉刷新及上拉加载原理解析
Nov 06 Javascript
JavaScript实现多层颜色选项卡嵌套
Sep 21 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
苏联队长,苏联超人蝙蝠侠,这些登场的“山寨”英雄真的很严肃
2020/04/09 欧美动漫
php daodb插入、更新与删除数据
2009/03/19 PHP
PHP循环输出指定目录下的所有文件和文件夹路径例子(简单实用)
2014/05/10 PHP
linux使用crontab实现PHP执行计划定时任务
2014/05/10 PHP
Extjs学习笔记之五 一个小细节renderTo和applyTo的区别
2010/01/07 Javascript
filters.revealTrans.Transition使用方法小结
2010/08/19 Javascript
Javascript base64编码实现代码
2011/12/02 Javascript
jquery实现动态改变div宽度和高度
2015/05/08 Javascript
jQuery实现的AJAX简单弹出层效果代码
2015/11/26 Javascript
JS表格组件神器bootstrap table详解(强化版)
2016/05/26 Javascript
javascript判断回文数详解及实现代码
2017/02/03 Javascript
基于JavaScript实现弹幕特效
2020/08/27 Javascript
微信{"errcode":48001,"errmsg":"api unauthorized, hints: [ req_id: 1QoCla0699ns81 ]"}
2018/10/12 Javascript
TypeScript之调用栈的实现
2019/12/31 Javascript
js实现自定义滚动条的示例
2020/10/27 Javascript
js获取图片的base64编码并压缩
2020/12/05 Javascript
[01:20]2018DOTA2亚洲邀请赛总决赛战队Mineski晋级之路
2018/04/07 DOTA
python发送伪造的arp请求
2014/01/09 Python
在python中pandas读文件,有中文字符的方法
2018/12/12 Python
pyqt实现.ui文件批量转换为对应.py文件脚本
2019/06/19 Python
django url到views参数传递的实例
2019/07/19 Python
Python爬虫之Selenium实现窗口截图
2020/12/04 Python
解决pycharm导入numpy包的和使用时报错:RuntimeError: The current Numpy installation (‘D:\\python3.6\\lib\\site-packa的问题
2020/12/08 Python
html5 冒号分隔符对齐的实现
2019/07/31 HTML / CSS
ROSEFIELD手表荷兰官方网上商店:北欧极简设计女士腕表品牌
2018/01/24 全球购物
Wiggle澳大利亚:自行车、跑步、游泳商店
2020/11/07 全球购物
如何理解委托
2012/01/06 面试题
会计毕业生求职简历的自我评价
2013/10/20 职场文书
党课心得体会范文
2014/09/09 职场文书
法人委托书的范本格式
2014/09/11 职场文书
教师自荐信范文
2015/03/06 职场文书
音乐会主持人开场白
2015/05/28 职场文书
小学语文教师研修感悟
2015/11/18 职场文书
原生CSS实现文字无限轮播的通用方法
2021/03/30 HTML / CSS
详解Nginx 被动检查服务器的存活状态
2021/10/16 Servers
app场景下uniapp的扫码记录
2022/07/23 Java/Android