28張圖助我學廢TS

執鳶者發表於2022-03-08
Ts現在用的越來越多,我感覺是時候總結一波Ts的基礎知識點,畢竟與時代脫節不是我們們程式設計師該做的事,話不多說,直接開整。(注:腦圖已經上傳至雲盤20+腦圖系列中)

TypeScript.png

一、基礎

1.png

二、tsconfig.json檔案

2.png

示例程式碼
{
    // include用來指定哪些ts檔案需要被編譯
    // **表示任意目錄
    // *表示任意檔案(匹配0或多個字元)
    // ?匹配一個任意字元
    "include": [
        "./src/**/*"
    ],

    // 定義需要排除在外的目錄,預設情況下會排除node_modules,bower_components,jspm_packages和<outDir>目錄
    "exclude": [],

    // 定義被繼承的配置檔案
    // "extends": "",

    // 指定被編譯的檔案列表
    // "files": [],

    // 編譯器的選項
    "compilerOptions": {
        // 設定ts程式碼編譯的目標版本
        "target": "es2015",
        // 設定編譯後程式碼使用的模組化系統
        "module": "amd",
        // 用來指定編譯後檔案所在的目錄
        "outDir": "./dist",
        // 用來將程式碼合併為一個檔案(一般用的不多)
        // "outFile": "./dist/app.js",
        // 是否對js檔案進行編譯,預設是false
        "allowJs": true,
        // 是否檢查js程式碼是否符合語法規範,預設是false
        "checkJs": true,
        // 是否移除註釋,預設是false
        "removeComments": false,
        // 所有嚴格檢查的總開關
        "strict": true,
        // 用來設定編譯後的檔案是否使用嚴格模式,預設為false
        "alwaysStrict": true,
        // 不允許隱式any使用,預設值是false
        "noImplicitAny": true,
        // 不允許不明確型別的this,預設值是false
        "noImplicitThis": true,
        // 嚴格的檢查空值,預設為false
        "strictNullChecks": true
    }
}

三、聯合webpack使用

3.png

四、型別

4.png

4.1 型別宣告語法

4-1.png

4.2 型別內容

4-2.png

4.3 object與{}

4-3.png

4.4 Function與(a:xxx)=>xxx

4-4.png

4.5 型別推斷

4-5.png

4.6 型別斷言

4-6.png

五、高階型別

5.png

六、類

6.png

6.1 定義類

6-1.png

6.2 屬性

6-2.png

6.3 建構函式constructor

6-3.png

6.4 方法

6-4.png

6.5 修飾符

6-5.png

6.6 存取器

6-6.png

6.7 繼承

6-7.png

七、介面

7.png

八、泛型

8.png

九、宣告檔案

9.png

9.1 為社麼需要宣告檔案

9-1.png

9.2 第三方庫通常兩種型別宣告方式

9-2.png

9.3 什麼情況需要自己訂一宣告檔案

9-3.png

9.4 宣告檔案型別

9-4.png

9.5 宣告檔案基礎語法

9-5.png

參考文獻

  1. 尚矽谷TypeScript教程
  2. TypeScript中文文件

相關文章