02变量与基本数据类型
一、变量
在 JavaScript 中,变量可以存储各种类型的数据,如数字、字符串、对象、函数等。
在 JavaScript 中创建一个变量,我们需要用到 let 关键字。
下面的语句创建(也可以称为 声明 或者 定义)了一个名称为 “message” 的变量:
1 | let message; |
我们可以通过赋值运算符 = 为变量添加一些数据:
1 | let message; |
二、常量
声明一个常数(不变)变量,可以使用 const 而非 let。
一个普遍的做法是将常量用作别名,以便记住那些在执行之前就已知的难以记住的值。
使用大写字母和下划线来命名这些常量。
例如,让我们以所谓的“web”(十六进制)格式为颜色声明常量:
1 |
|
三、数据类型
在 JavaScript 中有 8 种基本的数据类型(7 种原始类型和 1 种引用类型)。
值类型(基本类型):字符串(String)、数字(Number)、大数(BigInt)、布尔(Boolean)、空(Null)、未定义(Undefined)、Symbol。
引用数据类型(对象类型):对象(Object)、数组(Array)、函数(Function),还有两个特殊的对象:正则(RegExp)和日期(Date)。

JavaScript 拥有动态类型。这意味着相同的变量可用作不同的类型。在定义变量时无需思考应该选择哪种变量类型。变量的数据类型可以使用 typeof 操作符来查看:
1 | typeof undefined // "undefined" |
Number
number 类型代表整数和浮点数。
数字可以有很多操作,比如,乘法 *、除法 /、加法 +、减法 - 等等。
除了常规的数字,还包括所谓的“特殊数值(“special numeric values”)”也属于这种类型:Infinity、-Infinity 和 NaN。
1 | let n = 123; |
BigInt
在 JavaScript 中,“number” 类型无法安全地表示大于(即 9007199254740991),或小于 的整数。而 “bigint” 类型可以安全地表示任意长度的整数。
可以通过将 n 附加到整数字段的末尾来创建 BigInt 值。
1 | // 尾部的 "n" 表示这是一个 BigInt 类型 |
String
JavaScript 中的字符串必须被括在引号里。单引号、双引号、反引号都可以用来包含字符串。
1 | let str = "Hello"; |
其中,反引号是 功能扩展 引号。它们允许我们通过将变量和表达式包装在 ${…} 中,来将它们嵌入到字符串中。
Boolean
boolean 类型仅包含两个值:true 和 false。
null值
特殊的 null 值不属于上述任何一种类型。它构成了一个独立的类型,只包含 null 值。
1 | let age = null; |
相比较于其他编程语言,JavaScript 中的 null 不是一个“对不存在的 object 的引用”或者 “null 指针”。
undefined值
undefined 的含义是 未被赋值。
如果一个变量已被声明,但未被赋值,那么它的值就是 undefined。

Object和Symbol
object 类型是一个特殊的类型。
其他所有的数据类型都被称为“原始类型”,因为它们的值只包含一个单独的内容(字符串、数字或者其他)。相反,object 则用于储存数据集合和更复杂的实体。

