JavaScript 初学者最佳实践
让我们快速讨论一下使用 JavaScript 时可以遵循的一些最佳实践。我已经介绍了一些我们在日常编程中经常用到的基本知识。
让我们开始吧。
始终使用 let 或 const 定义变量
通过使用let
或定义变量const
,我们可以避免诸如
- 全局变量和命名空间的污染:假设你的应用程序使用了一个全局变量
title
。在代码的其他部分,你又定义了一个变量title
(没有使用let
或const
),但这个变量是特定于该函数的,与全局变量没有任何关联title
。那么这个变量就有可能title
改变(改变)全局变量的值。
let
如果我们使用或定义变量const
,则该变量将处于块作用域,这意味着它仅在该代码块中可用。因此,它将无法更改全局变量。
- 暴露敏感数据:假设您将 API 密钥存储在全局变量中(您在没有
let
或的情况下定义const
),那么此 API 密钥将存储在全局对象(window
)中,并且任何访问您网站的人都可以轻松访问。
let
同样,如果我们使用或定义变量const
,则变量将被阻止作用域,并且不会暴露给全局对象(window
)。
始终正确定义条件
- 如果您想检查变量是否存在虚假值(
undefined
,,null
空字符串),只需使用 NOT 运算符(!
),而不必检查每个虚假值。
- 如果你想检查某个键/值是否存在于某个对象中。你可以使用 AND 运算符 ( ) 安全地逐个检查该键/值是否存在
&&
。
- 您还可以使用可选链来检查对象中是否存在键/值。
分号
在深入探讨之前,我们先来做个小练习。你能猜出下面这个函数的输出是什么吗?
答案:输出将是undefined
😲。但是怎么做呢?这是因为 JavaScript 引擎在解析代码时会自动插入分号。如果代码格式不正确(如上例所示),JavaScript 引擎会;
在 return 语句 ( ) 的末尾添加一个分号 ( ) return;
,并且认为没有返回值。因此返回的值是undefined
。
自动分号插入 (ASI):JavaScript 引擎在解析代码时会自动在每个标记的末尾插入一个分号。这有时可能会导致代码出现意外行为。您可以在此处阅读更多相关信息。
还建议在代码的每个语句末尾添加分号,以避免出现 ASI 问题。
括号
不同编程语言背景的人倾向于将括号放在下一行。但在 JavaScript 中,这可能会导致代码出现意外行为。
{}
切勿在下一行开始使用花括号 ( )。由于 ASI,你的代码可能会出现异常行为。
- 始终在语句结束后(在同一行)开始使用花括号。
我们可以通过使用Prettier或任何其他格式化工具/库来格式化代码来避免这些问题。
模板字符串
模板字面量用于定义字符串值。模板字面量用反引号括起来,动态值/占位符可以使用美元符号传递${dynamicValue}
。
以下是模板文字的一些用例。
- 模板文字可用于定义动态 HTML 内容。
- 模板文字可用于定义数据库查询
- 模板文字可用于定义动态短 URL(单行)。
- 不要使用模板字面量来定义多行的长 URL。因为 API 不支持多行 URL。有很多方法可以在一行中处理多个参数,但我们不会在这里一一讨论。
通过使用 linters 和代码格式化程序,我们可以避免本文讨论的大多数问题。以下是一些常用的 linters 和代码格式化程序。linters :
ESLint、JSLint
代码格式化程序:Prettier
今天就到这里。希望你喜欢。😉
您还可以查看我关于在 JavaScript 中命名变量和函数的文章。
感谢您的光临。如果您喜欢这些内容,请支持我并关注我,以便获取更多类似内容。
通过LinkedIn、Twitter和GitHub与我联系。
文章来源:https://dev.to/syedafrozpasha/javascript-best-practices-for-beginners-11ec