10 个 JavaScript 技巧,助你编写更智能、更高效的代码
本周早些时候,我们讨论了开发者倦怠问题,一项研究发现,83% 的开发者都会经历倦怠。
导致开发人员感到精疲力竭的主要原因包括工作量大、个人生活受到影响以及流程效率低下。
虽然我不能保证改善你的个人生活,但我可以提供一些建议来帮助你减轻工作量,提高编码效率。
以下是 10 个 JavaScript 小技巧,可以帮助你更高效地编写代码:
1. 三元运算符
如果你不使用三元运算符来给变量赋予条件值,那你的工作将会变得困难得多。
三元运算符允许你根据布尔值来设置变量的值。
let variable = booleanToCheck ? 'Value if True' : 'Value if False'
2. 使用 Falsy 代替 False
另一种降低条件语句复杂性的方法是使用假值(Falsy values)来代替检查变量值,这样更快捷。假值是指像 0 和 undefined 这样的值,在布尔上下文中,它们被视为等同于 false。
以下所有陈述都是等价的:
if (false)if (null)if (undefined)if (0)if (-0)if (0n)if (NaN)if ("")
3. 可选链式调用
好了,最后一个让条件语句更简单的技巧,我保证。
与其编写 if 语句来确保某些值已定义,不如使用 ? 运算符,如果相关值不存在,它会返回 undefined。
用法示例来自 MDN Web Docs:
const adventurer = {
name: 'Alice',
cat: {
name: 'Dinah'
}
};
const dogName = adventurer.dog?.name;
console.log(dogName);
// expected output: undefined
console.log(adventurer.someNonExistentMethod?.());
// expected output: undefined
4. 采用测试驱动开发
测试驱动开发肯定不会节省时间,对吧?嗯,它可能感觉像是一个不必要的步骤,但如果你和你的团队发现你们的软件深陷于大量的 bug 之中,那很可能是因为你们没有在这些 bug 刚出现时就阻止它们。
测试驱动开发 (TDD) 的完整解释需要单独撰写一篇文章,但其基本思想是明确并检查某些功能和特性将如何运行。通常,这种测试是自动完成的,但即使只编写良好的代码文档或使用……也能获得 TDD 的许多好处。
console.assert()
确保某些事物仍然能够按照预期的方式运行。
5. 零合并
同样是为了防止 bug 恶化,空值合并功能允许您在出现意外或预期的未定义值时指定默认值。
const variable = null ?? 'default value'
console.log(variable) // "Output: default value"
6. 使用 GitK 和 Git-GUI 可视化 Git
如果你发现自己浪费大量时间去浏览复杂的 Git 仓库,那么使用 Git 可视化工具可能会有所帮助。最流行的两个工具是GitK和Git-GUI:
此外,GitHub 还提供GitHub Desktop,以帮助您更轻松地管理本地版本与远程仓库之间的交互:
7. 构建自定义排序()
除非你处理的是非常大的数组,并且正在跟踪 JavaScript 函数的计算复杂度,否则你不需要编写自己的排序函数。
事实上,当调用 JavaScript 的 sort() 函数时,浏览器会在必要时确保使用更高效的排序算法(例如归并排序和快速排序)。sort() 函数还可以接受自定义的比较函数,使其功能远比简单的数字比较要强大得多。
MDN Web Docs中的示例:
var items = [
{ name: 'Edward', value: 21 },
{ name: 'And', value: 45 },
{ name: 'The', value: -12 },
];
// sort by value
items.sort(function (a, b) {
return a.value - b.value;
});
8. 使用 Lighthouse 自动审核您的网站
如果您需要改进您的网站,但不知道从哪里开始,我强烈建议您使用 Chrome 内置的 Lighthouse 开发者工具。
Lighthouse 可以检测任何网站的性能、可访问性或 SEO 问题,并指出网站中需要修复或优化的具体部分。在确保应用程序已准备好上线时,它能节省大量时间。
9. 使用 TypeScript
与测试驱动开发类似,TypeScript 乍一看似乎并不能节省时间。但从长远来看,TypeScript 往往会产生相反的效果。
使用强类型语言编写代码会大大提高代码的可读性,这意味着你和你的团队成员将花费更少的时间来理解代码库。此外,TypeScript 还能帮助你在 bug 出现之前就将其预防,这能节省大量时间。
10. 停止浪费时间配置基础设施
最后,别再浪费时间配置基础设施了。现在是 2021 年,部署应用应该只需要几分钟。Codesphere 将 Web IDE 与云技术相结合,简化了部署流程。我们让在云端运行应用就像在本地运行一样简单。
那么,我们还遗漏了什么呢?请在下方留言告诉我们!祝您
编程愉快!




