Part I TypeScript 基礎篇
01 TypeScript 的發展與概論
1.1 TypeScript 簡介
1.2 TypeScript 可以解決什麼樣的問題?
1.3 學習 TypeScript 的更多好處
1.4 征途路上總是也有跌跌撞撞的時候
1.5 旅程中的第一小步
02 TypeScript 型別系統概論
2.1 型別系統的兩大基柱—型別的推論與註記
2.2 型別註記—「註記」與「斷言」的差異性
2.3 綜觀TypeScript 型別種類
03 深入型別系統 I 基礎篇
3.1 深潛之前的準備
3.2 原始型別Primitive Types
3.3 JSON 物件型別 JSON Object Type
3.4 函式型別 Function Object Type
3.5 陣列型別 Array Object Type
3.6 明文型別 Literal Type
04 深入型別系統II 進階篇
4.1 元組型別 Tuple Type
4.2 列舉型別 Enum Type
4.3 可控索引型別與索引型別 Indexable Type & Index Type
4.4 複合型別 Composite Type
4.5 Never 型別
4.6 Any 與 Unknown 型別
05 TypeScript 類別基礎
5.1 物件導向基礎概論 OOP Fundamentals
5.2 TypeScript 類別語法 Class Syntax
5.3 型別系統中的類別
06 TypeScript 介面
6.1 介面的介紹 Introduction to Interface
6.2 介面的彈性 Flexibility of Interface
6.3 註記與實踐介面
6.4 詭異的 TypeScript 函式參數型別檢測機制
6.5 型別化名 V.S. 介面
07 深入型別系統III 泛用型別
7.1 泛用型別的介紹 Introduction to Generic Types
7.2 型別泛用化
7.3 型別參數額外功能
08 TypeScript 模組系統
8.1 ES6 Import / Export 模組語法
8.2 命名空間 Namespaces
8.3 型別宣告 Type Declaration
8.4 引入純 JavaScript 套件的流程
Part II TypeScript 應用篇
09 物件導向進階篇章
9.1 物件導向進階概論
9.2 物件導向設計原則 SOLID Principles
9.3 物件導向延伸應用
10 常用 ECMAScript 標準語法
10.1 ES6 解構式 Destructuring
10.2 ES7 匯集- 展開操作符 Rest-Spread Operator
10.3 ES6 Set 與 Map 資料結構
10.4 ES10 非強制串接操作符 Optional Chaining Operator
10.5 ES10 空值結合操作符 Nullish Coalescing Operator
11 常用 ECMAScript 標準語法 非同步程式設計篇
11.1 同步與非同步的概念
11.2 ES6 Promise 物件
11.3 ES7 非同步函式Asynchronous Functions
12 TypeScript 裝飾子
12.1 裝飾子的簡介Introduction to Decorators
12.2 裝飾子種類
12.3 裝飾子的運用
A 解答篇