没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
介绍 如果你像我一样乐于见到整洁的代码,那么你会尽可能地减少代码中的条件语句。通常情况下,面向对象编程让我们得以避免条件式,并代之以继承和多态。我认为我们应当尽可能地遵循这些原则。 正如我在另一篇文章 JavaScript 整洁代码的最佳实践里提到的,你写的代码不单单是给机器看的,还是给“未来的自己”以及“其他人”看的。 从另一方面来说,由于各式各样的原因,可能我们的代码最终还是会有条件式。也许是修复 bug 的时间很紧,也许是不使用条件语句会对我们的代码库造成大的改动,等等。本文将会解决这些问题,同时帮助你组织所用的条件语句。 技巧 以下是关于如何构造 if…else 语句以及如何用更少的代
资源推荐
资源详情
资源评论
编写更好的编写更好的JavaScript条件式和匹配条件的技巧条件式和匹配条件的技巧(小结小结)
介绍介绍
如果你像我一样乐于见到整洁的代码,那么你会尽可能地减少代码中的条件语句。通常情况下,面向对象编程让我们得以避免
条件式,并代之以继承和多态。我认为我们应当尽可能地遵循这些原则。
正如我在另一篇文章 JavaScript 整洁代码的最佳实践里提到的,你写的代码不单单是给机器看的,还是给“未来的自己”以
及“其他人”看的。
从另一方面来说,由于各式各样的原因,可能我们的代码最终还是会有条件式。也许是修复 bug 的时间很紧,也许是不使用
条件语句会对我们的代码库造成大的改动,等等。本文将会解决这些问题,同时帮助你组织所用的条件语句。
技巧技巧
以下是关于如何构造 if…else 语句以及如何用更少的代码实现更多功能的技巧。阅读愉快!
1. 要事第一。小细节,但很重要要事第一。小细节,但很重要
不要使用否定条件式(这可能会让人感到疑惑)。同时,使用条件式简写来表示 boolean 值。这个无须再强调了,尤其是否定条
件式,这不符合正常的思维方式。
不好的:
const isEmailNotVerified = (email) => {
// 实现
}
if (!isEmailNotVerified(email)) {
// 做一些事...
}
if (isVerified === true) {
// 做一些事...
}
好的:
const isEmailVerified = (email) => {
// 实现
}
if (isEmailVerified(email)) {
// 做一些事...
}
if (isVerified) {
// 做一些事...
}
现在,理清了上面的事情后,我们就可以开始了。
2. 对于多个条件,使用对于多个条件,使用 Array.includes
假设我们想要在函数中检查汽车模型是 renault 还是 peugeot。那么代码可能是这样的:
const checkCarModel = (model) => {
if(model === 'renault' || model === 'peugeot') {
console.log('model valid');
}
}
checkCarModel('renault'); // 输出 'model valid'
考虑到我们只有两个模型,这么做似乎也还能接受,但如果我们还想要检查另一个或者是几个模型呢?如果我们增加更多 or 语
句,那么代码将变得难以维护,且不够整洁。为了让它更加简洁,我们可以像这样重写函数:
const checkCarModel = (model) => {
if(['peugeot', 'renault'].includes(model)) {
console.log('model valid');
}
}
checkCarModel('renault'); // 输出 'model valid'
上面的代码看起来已经很漂亮了。为了更进一步改善它,我们可以创建一个变量来存放汽车模型:
资源评论
weixin_38675969
- 粉丝: 2
- 资源: 957
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- C#ASP.NET学生选课成绩管理系统源码数据库 SQL2012源码类型 WebForm
- rime输入法-下载 RIME/中州韻輸入法引擎,是一個跨平臺的輸入法算法框架 基於這一框架,Rime 開發者與其他開源社區的參與者在 Windows、macOS、Linux、Android 等平
- Java实现的离线单机中国象棋游戏.zip
- Animatext - Text Animation System 1.1.0
- Java实现的狼人杀小游戏.zip资源代码
- 工具变量上市公司企业数字化转型指数数据集.xlsx
- All In 1 Sprite Shader 3.711
- JAVA实现的飞机大战小游戏-Asteroids game.zip
- Map and Minimap v1.14
- 2bizbox自动备份
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功