写点什么

编写优雅 Javascript 代码的最佳实践

用户头像
devpoint
关注
发布于: 2021 年 02 月 11 日
编写优雅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 的灵活性让我开启了前端之路,越来越严格的语法和构建工具,让我更加保持那份激情去探索。

发布于: 2021 年 02 月 11 日阅读数: 15
用户头像

devpoint

关注

细节的追求者 2011.11.12 加入

专注前端开发,用技术创造价值!

评论

发布
暂无评论
编写优雅Javascript代码的最佳实践