TypeScript實戰

TypeScript實戰

《TypeScript實戰》是清華大學出版社於2020年1月1日出版的一本圖書,作者是汪明。

基本介紹

  • 中文名:TypeScript實戰
  • 作者:汪明
  • 出版社:清華大學出版社
  • 出版時間:2020年1月1日
  • 定價:69 元
  • ISBN:9787302539810
圖書內容,圖書目錄,

圖書內容

微軟推出的開源TypeScript語言是JavaScript的超集,引入了靜態類型和面向對象的若干特徵,可以分模組構建易維護的JavaScript代碼。本書用於TypeScript 3.3.3入門,以構建大型可擴展的Web套用。本書分為10章,介紹TypeScript的基本類型、變數、運算符、數字和字元串,流程控制,數組、元組、疊代器和生成器,函式,常用的幾款工具,面向對象編程,泛型,聲明檔案與項目配置,以及App實戰項目等。最後,給出TypeScript JSX的基礎內容作為參考。作者還為每章配備了課件與教學視頻,方便自學。
本書內容詳盡、示例豐富,既適合TypeScript初學者及前端開發人員閱讀,也適合高等院校和培訓學校計算機相關專業的師生教學參考。

圖書目錄

第1章TypeScript基礎 1
1.1什麼是TypeScript 2
1.2為什麼要學習TypeScript 5
1.2.1TypeScript與JavaScript對比有什麼優勢 6
1.2.2TypeScript給前端開發帶來的好處 7
1.3安裝TypeScript 8
1.3.1npm安裝 8
1.3.2VisualStudio外掛程式安裝 10
1.4開始第一個TypeScript檔案 13
1.4.1選擇TypeScript編輯器 13
1.4.2編寫TypeScript檔案 15
1.4.3編譯TypeScript檔案 16
1.4.4在網頁中調用TypeScript檔案 17
1.5TypeScript的組成部分(語言、編譯器、語言服務) 18
1.6小結 18
第2章TypeScript基本語法 19
2.1認識一些程式語言的術語 19
2.1.1標識符 19
2.1.2數據類型 20
2.1.3原始數據類型 20
2.1.4變數和參數 20
2.1.5函式和方法 20
2.1.6表達式和語句 21
2.1.7字面量 21
2.2認識TypeScript的簡單語法 21
2.2.1注釋語法 21
2.2.2區分大小寫 22
2.2.3保留字 22
2.2.4語句用;分隔 22
2.2.5檔案擴展名為.ts 23
2.2.6變數聲明 23
2.2.7異常處理 23
2.3類型 24
2.3.1基礎類型 25
2.3.2枚舉 27
2.3.3任意值 30
2.3.4空值、Null與Undefined 32
2.3.5Never 34
2.3.6Symbols 34
2.3.7交叉類型 36
2.3.8Union類型 37
2.3.9類型斷言 40
2.4let與var 41
2.4.1let聲明的變數是塊級作用域 42
2.4.2let不允許在同域中聲明同名變數 42
2.4.3let禁止聲明前訪問 43
2.5變數 45
2.5.1聲明變數 46
2.5.2變數的作用域 47
2.5.3const聲明變數 48
2.6運算符 50
2.6.4按位運算符 52
2.6.6等號運算符 54
2.6.7否定運算符(-) 54
2.6.8連線運算符(+) 55
2.6.9條件運算符(?) 55
2.6.10類型運算符(typeof) 55
2.6.11instanceof運算符 57
2.6.12展開運算符(...) 57
2.7數字 59
2.7.1Number的屬性 60
2.7.2NaN 61
2.7.3prototype 61
2.7.4Number的方法 62
2.8字元串 64
2.8.1構造函式 64
2.8.2prototype 64
2.8.3字元串的方法 65
2.9小結 66
第3章流程控制 67
3.1條件判斷 68
3.1.1if、if…else 69
3.1.2嵌套if 72
3.1.3switch 73
3.2循環 76
3.2.1for 77
3.2.2while 79
3.2.3do…while 79
3.3break和continue 80
3.4小結 83
第4章數組、元組 84
4.1數組 84
4.1.1數組的概念和特徵 84
4.1.2聲明和初始化數組 86
4.1.3訪問數組元素 88
4.1.4數組對象 90
4.1.5數組方法 94
4.1.6數組解構 104
4.1.7數組的遍歷 106
4.1.8多維數組 108
4.2元組 110
4.2.1元組的概念和特徵 110
4.2.2訪問元組中的值 111
4.2.3元組操作(push和pop) 112
4.2.4元組更新 113
4.2.5元組解構 113
4.3疊代器和生成器 114
4.3.1疊代器 114
4.3.2生成器 115
4.4小結 119
第5章函式 120
5.1一個完整的函式 120
5.1.1定義函式 121
5.1.2調用函式 125
5.1.3返回功能 134
5.1.4參數化功能 139
5.2函式的參數 140
5.2.1可選參數 141
5.2.2Rest參數(剩餘參數) 142
5.2.3默認參數 143
5.2.4參數類型推斷 144
5.2.5單個參數的可選括弧 145
5.2.6類型註解 146
5.3特殊函式 147
5.3.1匿名函式 147
5.3.2構造函式 149
5.3.3遞歸函式 150
5.3.4lambda函式 152
5.3.5函式重載 155
5.4函式與數組 158
5.4.1將數組傳遞給函式 158
5.4.2從函式返回數組 159
5.5小結 159
第6章項目必備工具 160
6.1使用VisualStudioCode 161
6.1.1在VisualStudioCode中新建TypeScript套用 163
6.1.2配置VisualStudioCode的launch.json 164
6.1.3初始化項目package.json 169
6.1.4安裝typescript依賴 172
6.1.5添加並配置tsconfig.json 173
6.1.6添加並配置tasks.json 175
6.1.7調試運行 177
6.2使用ESLint 179
6.2.1安裝ESLint 180
6.2.2創建ESLint配置檔案 181
6.2.3檢查ts檔案 184
6.3使用TSLint 186
6.3.1安裝TSLint工具 187
6.3.2創建TSLint配置檔案 187
6.3.3檢查ts檔案 188
6.4使用Jest 190
6.4.1安裝Jest 191
6.4.2Jest初始化配置 191
6.4.3Jest測試 192
6.5使用webpack 195
6.5.1安裝webpack 197
6.5.2配置webpack.config.js 199
6.5.3構建本地伺服器 203
6.6小結 205
第7章面向對象編程 206
7.1對象 209
7.1.1創建簡單對象 209
7.1.2給對象添加函式 211
7.1.3duck-typing 215
7.2類 216
7.2.1創建一個類 216
7.2.2創建實例對象 218
7.2.3訪問類的屬性和函式 218
7.2.4類的繼承 219
7.2.5方法重載 222
7.2.6裝飾器 225
7.2.7static靜態關鍵字 231
7.2.8instanceof運算符 231
7.2.9類成員的可見性 232
7.3接口 234
7.3.1聲明接口 234
7.3.2UnionType和接口 238
7.3.3接口和數組 239
7.3.4接口的繼承 240
7.3.5類也可以實現接口 242
7.4命名空間 244
7.4.1定義命名空間 244
7.4.2嵌套命名空間 246
7.5外部模組 247
7.5.1模組載入器 248
7.5.2定義外部模組 263
7.6TypeScript如何解析模組 269
7.6.1模組導入路徑解析 269
7.6.2模組解析策略 270
7.6.3baseUrl 272
7.6.4路徑映射 273
7.7聲明合併 277
7.7.1合併接口 277
7.7.2合併命名空間 278
7.7.3合併命名空間和類 279
7.7.4全局擴展 280
7.8小結 281
第8章泛型 282
8.1泛型的定義 282
8.1.1泛型函式的定義 283
8.1.2泛型類的定義 283
8.1.3泛型接口的定義 284
8.2詳解泛型變數 284
8.3詳解泛型函式 285
8.4詳解泛型類 287
8.5詳解泛型約束 290
8.6小結 291
第9章TypeScript聲明檔案與項目配置 292
9.1聲明檔案 292
9.1.1全局庫 293
9.1.2模組化庫 296
9.2項目配置 301
9.3項目引用 306
9.4三斜線指令 308
9.5小結 309
第10章實戰:使用TypeScript+Node創建列表APP 310
10.1創建項目 310
10.2配置tsconfig.json 313
10.3列表APP的前端設計與開發 314
10.4列表APP的服務端設計與開發 321
10.5編譯和啟動伺服器 326
10.6運行APP項目 330
10.7小結 332
附錄TypeScriptJSX介紹 333
f.1基本用法 333
f.2as操作符 334
f.3類型檢查 334
f.4嵌入的表達式 338
f.5TypeScript+React整合 338

相關詞條

熱門詞條

聯絡我們