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/ |