黄子涵

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/
posted @ 2022-05-27 17:32  黄子涵  阅读(89)  评论(0编辑  收藏  举报