字面量是什么?
在阅读技术文档的时候偶尔会遇到字面量(Literals),咋一看,好家伙,这是什么高大上的名词?于是赶紧去 google 一番,但是出来的结果都语焉不详。
比如 MDN 的中文翻译是:
译注:字面量是由语法表达式定义的常量;或,通过由一定字词组成的语词表达式定义的常量) 在 JavaScript 中,你可以使用各种字面量。这些字面量是脚本中按字面意思给出的固定的值,而不是变量。(译注:字面量是常量,其值是固定的,而且在程序脚本运行中不可更改,比如false,3.1415,thisIsStringOfHelloworld **,invokedFunction: myFunction(“myArgument”)。
好像说得有点不太接地气。让我们看看英文原文是如何表达的:
Literals represent values in JavaScript. These are fixed values—not variables—that you literally provide in your script.
这……咋原文这么简短,中文翻译绕来绕去的。让我来翻译翻译原文:
在 JavaScript 中字面量表示 值(values)。它们是你在脚本中字面上写出来的固定的值,而不是变量。
可能你看了翻译还是不太理解,没关系,我们结合程序继续讲解:
var a = 100 var b = "JavaScript" var c = [5,6,7] var d = { name: "小明", age: 18
}
上面例子中等号的左边都是变量(a、b、c、d),而右边的都是字面量(100、JavaScript……),也就是说字面量是你在程序源码中直接写出来的值。意即字面上的值。
总结
多看英文原文。