TypeScript 中的字面量是什么意思

前言

阅读 TypeScript 文档的时候,字面量 这个词出现的频率还挺高,虽然不理解它的意思也不影响阅读,但看到 字面量 扎堆出现的时候,仍是想知道 字面量 究竟是什么意思。javascript

TypeScript 文档片断截图

TypeScript 文档中出现过哪些字面量

文档中大概出现过如下几种名词:html

  • 数字字面量
  • 字符串字面量
  • 十六进制字面量
  • 对象字面量
  • 数组字面量
  • 枚举表达式字面量
  • 函数字面量

字面量名词对应的程序

  1. 数字字面量
    const num: number = 1;
    复制代码
  2. 字符串字面量
    const str: string = 'foo';
    复制代码
  3. 十六进制字面量(其余进制相似)
    const hexLiteral: number = 0xf00d;
    复制代码
  4. 对象字面量
    const obj = { x: 10, y: 20 };
    复制代码
  5. 数组字面量
    const numArr:Array<number> = [0,1,2,3];
    复制代码
  6. 枚举(常量)表达式字面量
    enum Response {
        No = 0,
        Yes = 1,
    }
    复制代码
  7. 函数字面量
    const fn = (x)=>{ alert(x); }
    复制代码

什么是字面量

在计算机科学中,字面量(literal)是用于表达源代码中一个固定值的表示法。java

这是百度百科的解释,可能不太好理解。可是从上面的程序咱们能够分析出: = 右边是什么类型,那么这个字面量就被称做该类型的字面量。引用 深刻理解 TypeScript 文章中的解释:字面量是 JavaScript 自己提供的一个准确变量。git

举个例子

const hexLiteral: number = 0xf00d;
复制代码

以上代码中,hexLiteral 为定义的常量,0xf00d 为十六进制字面量,若是咱们给 0xf00d 加个引号,则 '0xf00d' 就被称之为字符串字面量。github


let hexLiteral: number = '0xf00d';
复制代码

以上代码中,hexLiteral 为定义的变量, '0xf00d' 为字符串字面量。所以咱们能够得出结论,字面量 其实就是用来精准描述 = 右边的一个名词而已。typescript


let boo:boolean = true;
复制代码

以上代码中,boo 为定义的变量, true 为布尔字面量。数组

总结

字面量 其实就是用来精准描述 = 右边的一个名词而已。理解了这个名词,阅读 TypeScript 文档不再须要纠结这个名词是什么意思了。函数

参考连接

深刻理解 TypeScript:jkchao.github.io/typescript-…ui

相关文章
相关标签/搜索