让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 相关文章推荐
jquery Moblie入门—hello world的示例代码学习
Jan 08 Javascript
利用CSS、JavaScript及Ajax实现高效的图片预加载
Oct 16 Javascript
jQuery实现鼠标可拖动调整表格列宽度
May 26 Javascript
JavaScript中对象介绍
Dec 31 Javascript
微信小程序 简单DEMO布局,逻辑,样式的练习
Nov 30 Javascript
详解JavaScript按概率随机生成事件
Aug 02 Javascript
详解在vue-cli中使用路由
Sep 25 Javascript
详解如何使用 vue-cli 开发多页应用
Dec 16 Javascript
vue-cli项目配置多环境的详细操作过程
Oct 30 Javascript
LayUi数据表格自定义赋值方式
Oct 26 Javascript
Layui表格监听行单双击事件讲解
Nov 14 Javascript
React 实现车牌键盘的示例代码
Dec 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将数据库中的电话号码读取出来并生成图片
2008/08/31 PHP
一个基于PDO的数据库操作类
2011/03/24 PHP
深入php define()函数以及defined()函数的用法详解
2013/06/05 PHP
PHP 转义使用详解
2013/07/15 PHP
PHP实现SMTP邮件的发送实例
2018/09/27 PHP
鼠标移动到一张图片时变为另一张图片
2006/12/05 Javascript
高性能Javascript笔记 数据的存储与访问性能优化
2012/08/02 Javascript
JavaScript实现弹出子窗口并传值给父窗口
2014/12/18 Javascript
jQuery中delegate()方法用法实例
2015/01/19 Javascript
使用JQuery实现的分页插件分享
2015/11/05 Javascript
js获取及修改网页背景色和字体色的方法
2015/12/29 Javascript
JS简单封装的图片无缝滚动效果示例【测试可用】
2017/03/22 Javascript
AngularJS实现根据不同条件显示不同控件
2017/04/20 Javascript
vue ssr 指南详读
2018/06/29 Javascript
微信小程序购物车、父子组件传值及calc的注意事项总结
2018/11/14 Javascript
vue仿ios列表左划删除
2019/09/26 Javascript
vue实现百度语音合成的实例讲解
2019/10/14 Javascript
VuePress 中如何增加用户登录功能
2019/11/29 Javascript
JavaScrip如果基于url实现图片下载
2020/07/03 Javascript
[37:45]2014 DOTA2国际邀请赛中国区预选赛5.21 DT VS Orenda
2014/05/22 DOTA
python图像处理之反色实现方法
2015/05/30 Python
Python的Django框架中从url中捕捉文本的方法
2015/07/20 Python
Python 3实战爬虫之爬取京东图书的图片详解
2017/10/09 Python
Python在不同目录下导入模块的实现方法
2017/10/27 Python
PyQt5创建一个新窗口的实例
2019/06/20 Python
Python寻找路径和查找文件路径的示例
2019/07/10 Python
Python使用matplotlib 画矩形的三种方式分析
2019/10/31 Python
python 实现多维数组转向量
2019/11/30 Python
python GUI库图形界面开发之PyQt5信号与槽基础使用方法与实例
2020/03/06 Python
python3将变量输入的简单实例
2020/08/19 Python
Hello Molly美国:女性时尚在线
2019/08/26 全球购物
应用化学专业本科生求职信
2013/09/29 职场文书
思想作风纪律整顿心得体会
2014/09/04 职场文书
班主任班级管理心得体会
2016/01/07 职场文书
win10以太网连接不上怎么办?Win10连接以太网详细教程
2022/04/08 数码科技
Golang 实现WebSockets
2022/04/24 Golang