编写优雅 Javascript 代码的最佳实践
Javascript是强大和灵活的,它允许以任何喜欢的方式编写代码,并尝试一些非常不寻常的事情,这可能会导致代码中的错误。以下是学到的关于Javascript编写优雅代码的最佳实践事情。
总是使用:use strict
很有可能,如果项目中Javascript使用任何库/框架或编译器,use strict
是不允许的,但以防万一,记得把它添加到文件和函数中。如果不包含它,它可能在有些场景下出现错误。
使用函数表达式代替函数声明
除非想利用函数的行为和属性,否则最好使用函数表达式。函数声明被悬挂起来,尽管它有时很有用,但要避免它们,因为它们会给代码带来奇怪的行为,而且发生的事情并不总是那么明显。尽量弄清楚使用的函数来自哪里,它们在你使用它们之前出现,以避免奇怪的访问。
停止使用 var
带有" var "的声明也会被悬挂,这使得在声明发生之前var声明是可访问的,这是奇怪的,非明显的行为。
尽可能多地使用 const
和不变性
尽可能喜欢不变性。不断地更改数据并将其传递出去会使跟踪bug和更改本身变得困难。处理数据副本,避免副作用。
多写纯函数
纯函数是这样一种函数,即相同的输入,永远会得到相同的输出,而且没有任何可观察的副作用。
副作用是在计算结果的过程中,系统状态的一种变化,或者与外部世界进行的可观察的交互。
优先选择类而不是构造函数
尽管构造函数允许实现一些非常好的功能,但如果发现自己正在使用它的原型,那就意味着需要使用几乎在任何地方都支持的 class
。它更干净,也更容易理解。
使用“解构”
解构是优雅的,它使你从数组和对象中得到的东西更加明显,并且给你重命名的机会,以使得代码更加优雅。
仅处理需要的数据
像上面的例子一样,解构是提取工作所需数据的好方法,但是也要养成只调用方法和函数所需要的东西的习惯。这也涉及到来自API的数据。在存储或对其进行任何操作之前,只提取和清理所需的数据。
总是使用:“===”
三重相等检查值和类型这是你一直想做的事情。养成反复检查的习惯,避免不良影响。
避免全局变量
避免在全局对象中创建东西,除非你正在创建一个库/框架。全局属性名可能会与第三方或同事介绍的东西发生冲突,很难调试。
组织声明
保持你声明事物的方式一致。将所有声明放在最上面,从常量开始,一直到变量。将常量全部大写,以表明它们是常量,这样开发者就不会试图更改它们。
不要用 undefined
来初始化
没有值的变量就用 undefined
。让我们同意将“无值”作为某物的“值”是一个非常奇怪的概念,对吧?既然Javascript已经让事情 undefined
了,你怎么知道是你还是Javascript让事情 undefined
了呢?这使得调试为什么事情是 undefined
很难,所以宁愿设置事情为 null
代替。
始终初始化声明
出于同样的原因,您不应为声明提供 undefined
作为值,也不应为它们保留任何值,因为默认情况下它们是 undefined
。
总结
Javascript的灵活性让我开启了前端之路,越来越严格的语法和构建工具,让我更加保持那份激情去探索。