Ts現在用的越來越多,我感覺是時候總結一波Ts的基礎知識點,畢竟與時代脫節不是我們們程式設計師該做的事,話不多說,直接開整。(注:腦圖已經上傳至雲盤20+腦圖系列中)
一、基礎
二、tsconfig.json檔案
示例程式碼
{
// 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使用
四、型別
4.1 型別宣告語法
4.2 型別內容
4.3 object與{}
4.4 Function與(a:xxx)=>xxx
4.5 型別推斷
4.6 型別斷言
五、高階型別
六、類
6.1 定義類
6.2 屬性
6.3 建構函式constructor
6.4 方法
6.5 修飾符
6.6 存取器
6.7 繼承
七、介面
八、泛型
九、宣告檔案
9.1 為社麼需要宣告檔案
9.2 第三方庫通常兩種型別宣告方式
9.3 什麼情況需要自己訂一宣告檔案
9.4 宣告檔案型別
9.5 宣告檔案基礎語法
參考文獻
- 尚矽谷TypeScript教程
- TypeScript中文文件