4.4 字面量
字面量(literal)指的是,在代码中写下这些值之后,将会在运行时直接使用这些值的字面含义。有读者也许会觉得,在代码中书写的值自然会在运行时按原样表达该值,不过事实上并非如此,请看下面的代码:
// 字符串字面量"bar" 的例子
var foo = "bar";
根据语法规则,代码中的 var 这个词的含义是变量的声明,因此,在运行中 var 并不会被识别为一个内容为 var 的单词。类似地,foo 这个词在运行时也不会被识别为一个内容为 foo 的单词,而仅被认为是变量 foo 所表示的值。而即使把代码中所有的 foo 都改写为 foo2 也不会改变运行结果,通过这一事实也能进一步理解该规则。
另一方面,"bar" 是一个字符串字面量,所以 bar 这一单词在运行过程中的含义就是 bar 这一字符序列而已。
数值字面量的情况就更加容易理解了。在下面的代码中写有两个数值 0。val0 中的 0 是其变量名的一部分,并不具有数值0 的含义。这个 0 已经失去了可以进行算术运算的性质,仅仅是一个符号。
另一方面,右侧的字面量 0 则具有数值的含义。
// 数值字面量0 的例子
var val0 = 0;
【评】如果设置一个变量为var hzh = '黄子涵',那么变量hzh表示的‘黄子涵’这个字符串,改变标识符也改变不了字面量的意思。
字面量
表 4.4 字面量
| 名称 | 具体示例 |
|---|---|
| 数值 | 100 |
| 字符串值 | "foobar" |
| 布尔值 | true |
| null 值 | null |
| Object | |
| 数列 | [3, 1, 2] |
| 函数 | function() |
| 正则表达式 | /foo/ |

浙公网安备 33010602011771号