有哪些编写短小精炼的JS代码小技巧
发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,本篇内容主要讲解"有哪些编写短小精炼的JS代码小技巧",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"有哪些编写短小精炼的JS代码小技巧"吧!短路Javasc
千家信息网最后更新 2025年11月07日有哪些编写短小精炼的JS代码小技巧
本篇内容主要讲解"有哪些编写短小精炼的JS代码小技巧",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"有哪些编写短小精炼的JS代码小技巧"吧!
短路
Javascript 里的逻辑运算符与(&&)可以产生短路,例如
console.log(true && 0 && 2); // 0console.log(true && 'test' && 2) // 2
即代码从左往右,如果遇到undefined,null,0等等会被转化为false的值时就不再继续运行。
x == 0 && foo()// 等价于if( x == 0 ){ foo()}链判断运算符 '?'
假设有一个对象
const student = { name : { firstName : 'Joe' }}我们希望firstname存在的情况下做一些事情, 我们不得不一层一层检查
if(student && student.name && student.name.firstName){ console.log('student First name exists')}采用链判断运算符会在某一层取不到值的时候停止并返回undefined
if(student?.name?.firstName){ console.log('student First name exists')}空值合并运算符 '??'
我们有时候会使用三元运算来简化if...else... 或者返回一个默认值
const foo = () => { return student.name?.firstName ? student.name.firstName : 'firstName do not exist'}console.log(foo())这种情况,我们可以通过空值合并进一步简化代码
const foo = () => { return student.name?.firstName ?? 'firstName do not exist'}console.log(foo())很像或||运算符,但??只对undefined 和 null起作用,可以避免值是0麻烦
尽量避免if else 嵌套
例如
const foo = () => { if(x<1) { return 'x is less than 1' } else { if(x > 1){ return 'x is greater than 1' } else { return 'x is equal to 1' } }}通过删除 else 条件可以使 if else 嵌套变得不那么复杂,因为 return 语句将停止代码执行并返回函数
const foo = () => { if(x<1){ return 'less than 1' } if(x>1){ return 'x is greater than 1' } return 'x is equal to 1'}好的代码不一定要追求尽可能的短,有时候过于精简的代码会使debug的过程更加麻烦,所以可读性才是最重要的,特别是在多人协作的情况下。
到此,相信大家对"有哪些编写短小精炼的JS代码小技巧"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
代码
运算
运算符
技巧
情况
内容
有时候
麻烦
学习
复杂
实用
更深
重要
事情
作用
兴趣
函数
可以使
可以通过
可读性
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
计算机三级网络技术是上机考吗
软件开发工作的时间
产品数据库软件
嘉兴慧梦软件开发有限公司
软件开发云协同平台
画多字少网络安全手抄报内容
没有数据库检索信息
app云数据库
怎么把自己的程序放在服务器运行
网络安全渗透工作日报
as本地数据库
股票软件开发山东
服务器链接速度
NINJAME软件开发
云南中学生网络安全知识竞赛
服务器安全狗一键脚本
厦门市网络安全学院
河南招银网络技术有限公司
福田区光纤网络技术开发动态
网络安全牢固
利辛县网络安全局位置
mysql数据库并集
福州拔萃网络技术
重庆开县生鲜系统软件开发
NINJAME软件开发
抚州高性价比服务器找哪家好
数据库插入数据为另外一张表的值
服务器路由配置
工作流数据库表结构设计
济南珊瑚虫网络技术有限公司