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的灵活性让我开启了前端之路,越来越严格的语法和构建工具,让我更加保持那份激情去探索。