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

相關文章
相關標籤/搜索