我们经常需要重复执行一些操作。 例如,我们需要将列表中的商品逐个输出,或者运行相同的代码将数字 1 到 10 逐个输出。 循环 是一种重复运行同一代码的方法。
空值合并运算符(nullish coalescing operator)的写法为两个问号 ??。 由于它对待 null 和 undefined 的方式类似,所以在本文中我们将使用一个特殊的术语对其进行表示。为简洁起见,当一个值既不是 null 也不是 undefined 时,我们将其称为“已定义的(defined)”。
JavaScript 中有四个逻辑运算符:||(或),&&(与),!(非),??(空值合并运算符)。本文我们先介绍前三个,在下一篇文章中再详细介绍 ?? 运算符。 虽然它们被称为“逻辑”运算符,但这些运算符却可以被应用于任意类型的值,而不仅仅是布尔值。它们的结果也同样可以是任意类型。
在本文中,我们将进一步了解不同类型的比较,JavaScript 是如何进行比较的,包括一些重要的特殊性。在文末给出了一些秘诀,帮助你避免 “JavaScript 陷阱”相关的问题。
我们从学校里了解到过很多运算符,比如说加号 +、乘号 *、减号 - 等。 在本章中,我们将从简单的运算符开始,然后着重介绍 JavaScript 特有的方面,这些是在学校中学习的数学运算所没有涵盖的。
大多数情况下,运算符和函数会自动将赋予它们的值转换为正确的类型。 比如,alert 会自动将任何值都转换为字符串以进行显示。算术运算符会将值转换为数字。在某些情况下,我们需要将值显式地转换为我们期望的类型。
JavaScript 中的值都具有特定的类型。例如,字符串或数字。 在 JavaScript 中有 8 种基本的数据类型(译注:7 种原始类型和 1 种引用类型)。在这里,我们将对它们进行大体的介绍,在下一章中,我们将详细讨论它们。