TypeScript全棧開發
趙卓
- 出版商: 人民郵電
- 出版日期: 2024-09-01
- 定價: $539
- 售價: 8.5 折 $458
- 語言: 簡體中文
- 頁數: 318
- ISBN: 7115605572
- ISBN-13: 9787115605573
-
相關分類:
JavaScript、TypeScript
立即出貨
買這商品的人也買了...
-
$580$458 -
$580$458 -
$580$458 -
$948$901 -
$980$774 -
$714$678 -
$880$695 -
$890$587 -
$1,200$948 -
$880$748 -
$479$455 -
$356Node.js 後端全程實戰
-
$580$458 -
$880$695 -
$680$537 -
$774$735 -
$768$730 -
$640$480 -
$780$616 -
$760$593 -
$1,080$713 -
$760$593 -
$700$525 -
$650$507 -
$680$530
相關主題
商品描述
本書旨在介紹TypeScript的語法和應用。本書首先介紹TypeScript的基本語法,以幫助讀者編寫基本的應用程序;然後講述TypeScript的進階語法,這些語法可以滿足復雜項目中的編程要求;接著討論如何將TypeScript代碼編譯為JavaScript代碼,如何快速地編寫與調試TypeScript代碼,如何通過工具自動檢查代碼的正確性;最後闡述如何在TypeScript項目中使用JavaScript,如何使用TypeScript開發前端項目與後端項目。
本書適合前端開發工程師、後端開發工程師以及對TypeScript感興趣的讀者閱讀。
作者簡介
赵卓,新蛋科技有限公司电子商务研发团队项目经理,从事过多年测试工作和开发工作,精通各类开发和测试技术。编写过的图书有《Kubernetes从入门到实践》《Selenium自动化测试完全指南:基于Python》,翻译过的图书有《精通Selenium WebDriver 3.0(第2版)》等。
目錄大綱
目 錄
第 一部分 基礎語法
第 1章 TypeScript簡介 3
1.1 TypeScript的發展史 3
1.1.1 JavaScript的興起 3
1.1.2 JavaScript的缺陷 5
1.1.3 TypeScript的誕生 6
1.2 搭建TypeScript開發環境 7
1.2.1 安裝Node.js 7
1.2.2 安裝TypeScript 8
1.2.3 安裝Visual Studio Code 8
1.3 編寫第 一個TypeScript
程序:Hello World 10
1.3.1 編寫並運行
TypeScript程序 10
1.3.2 靜態檢查和智能提示 11
第 2章 語法結構與類型結構 13
2.1 語法結構 13
2.1.1 聲明變量 14
2.1.2 標識符名稱 14
2.1.3 數據類型 15
2.1.4 運算符 15
2.1.5 字面量 16
2.1.6 分號與斷句 16
2.1.7 註釋 17
2.1.8 表達式 17
2.1.9 流程控制 17
2.1.10 代碼塊 18
2.2 類型結構 19
第3章 原始類型 20
3.1 布爾類型 20
3.2 數值類型 21
3.3 長整型 22
3.4 字符串類型 22
3.5 枚舉類型 24
3.5.1 數值枚舉 24
3.5.2 字符串枚舉 26
3.5.3 應慎用的枚舉使用方式 26
3.5.4 常量枚舉 28
3.6 symbol 29
3.7 undefined、null和NaN 29
3.7.1 undefined 29
3.7.2 null 30
3.7.3 NaN 30
3.8 類型轉換 30
3.8.1 將其他類型轉換為
布爾類型 30
3.8.2 將其他類型轉換為數值
類型 31
3.8.3 將其他類型轉換為
長整型 33
3.8.4 將其他類型轉換為字符串類型 33
3.9 字面量類型 34
3.10 變量與常量 35
3.10.1 let關鍵字 35
3.10.2 const關鍵字 37
第4章 表達式與運算符 38
4.1 算術運算符 38
4.2 賦值運算符 40
4.3 字符串運算符 40
4.4 比較運算符 41
4.5 條件運算符 43
4.6 邏輯運算符 44
4.7 類型運算符 45
4.8 位運算符 46
4.9 運算符的優先級 47
第5章 流程控制 50
5.1 選擇語句 50
5.1.1 if/if…else/if…else if語句 51
5.1.2 switch語句 54
5.2 循環語句 57
5.2.1 for語句 57
5.2.2 while語句 60
5.2.3 do…while語句 60
5.2.4 break與continue 關鍵字 61
第6章 引用類型 62
6.1 原始值與引用值 62
6.1.1 值的復制 63
6.1.2 值的傳遞 64
6.1.3 值的比較 65
6.1.4 常量的使用 66
6.2 引用類型分類 66
第7章 數組與元組 69
7.1 數組 69
7.1.1 數組的聲明與讀寫 69
7.1.2 數組的遍歷 70
7.1.3 數組的方法 70
7.1.4 只讀數組 77
7.1.5 多維數組 77
7.2 元組 77
7.2.1 元組的聲明和讀寫 77
7.2.2 可選元素與剩餘元素 78
7.2.3 元組的方法 79
7.2.4 將元組轉換為數組 79
第8章 函數 81
8.1 函數的聲明與調用 81
8.1.1 以普通方式聲明與調用 81
8.1.2 通過表達式聲明與調用 82
8.1.3 特殊的聲明與調用方式 84
8.2 函數的參數與返回值 85
8.2.1 普通參數與類型推導 86
8.2.2 可選參數 87
8.2.3 默認參數 88
8.2.4 剩餘參數 88
8.2.5 返回值 90
8.3 函數的調用簽名與重載 92
8.3.1 調用簽名 92
8.3.2 重載函數 93
8.4 函數的內置屬性 96
8.4.1 arguments 96
8.4.2 caller 97
8.4.3 this 98
8.5 函數的內置方法 100
8.5.1 apply()和call() 100
8.5.2 bind() 100
第9章 接口與對象 103
9.1 對象的聲明 103
9.1.1 使用對象類型字面量
聲明對象 104
9.1.2 使用類型別名聲明
對象 106
9.1.3 使用接口聲明對象 107
9.2 屬性或方法的修飾符 107
9.2.1 可選修飾符 107
9.2.2 只讀修飾符 108
9.2.3 索引簽名 109
9.3 接口的合並 112
9.3.1 接口繼承 112
9.3.2 交叉類型 113
9.3.3 聲明合並 113
9.3.4 接口合並時的沖突 114
9.4 特殊對象類型 116
9.4.1 object 116
9.4.2 Object和{} 117
第 10章 類 119
10.1 類的聲明 119
10.1.1 基本聲明語法 119
10.1.2 創建實例對象 120
10.2 類的成員 121
10.2.1 屬性 121
10.2.2 方法 123
10.2.3 構造函數 125
10.2.4 存取器 126
10.2.5 索引成員 128
10.3 類的繼承 129
10.3.1 簡單的繼承 129
10.3.2 重寫父類成員 130
10.3.3 復用父類成員 134
10.4 繼承接口與抽象類 135
10.4.1 繼承接口 135
10.4.2 繼承抽象類 137
10.5 成員的可訪問性 139
10.5.1 public 139
10.5.2 protected 140
10.5.3 private 140
10.5.4 可訪問性的兼容性 142
10.6 靜態成員 143
10.6.1 靜態成員的聲明與
訪問 143
10.6.2 靜態成員的繼承 143
10.6.3 靜態代碼塊 144
10.7 其他應用與註意事項 145
10.7.1 類的初始化順序 145
10.7.2 參數屬性 146
10.7.3 類表達式 146
10.7.4 不夠嚴格的類 147
10.7.5 instanceof運算符 148
第 11章 頂部類型與底部類型 149
11.1 any 149
11.2 unknown 150
11.3 類型斷言與類型防護 151
11.4 never 152
第 12章 進階類型 154
12.1 泛型 154
12.1.1 泛型的基礎用法 154
12.1.2 在函數中使用泛型 155
12.1.3 在類中使用泛型 157
12.1.4 泛型類型 158
12.1.5 泛型約束 159
12.2 類型別名 160
12.2.1 類型別名的基本用法 160
12.2.2 類型別名與接口的區別 161
12.3 聯合類型與交叉類型 162
12.3.1 聯合類型 162
12.3.2 交叉類型 163
第二部分 進階語法
第 13章 模塊與命名空間 167
13.1 模塊 167
13.1.1 導出模塊 167
13.1.2 使用被導出的模塊 170
13.1.3 導入與導出TypeScript類型聲明 173
13.1.4 導入或導出模塊時的註意事項 175
13.1.5 編譯與運行模塊 176
13.1.6 解析模塊路徑 184
13.2 命名空間 185
13.2.1 聲明命名空間 186
13.2.2 使用命名空間的成員 187
13.2.3 在多文件中使用命名空間 189
13.2.4 命名空間的本質與局限 190
13.3 聲明合並 190
13.3.1 同類型之間的聲明合並 191
13.3.2 不同類型之間的聲明合並 193
第 14章 錯誤處理 195
14.1 捕獲並處理錯誤 195
14.2 錯誤對象 198
14.3 自定義錯誤 200
14.3.1 拋出錯誤 200
14.3.2 自定義錯誤類型 201
第 15章 異步編程 203
15.1 異步任務運行機制 203
15.2 回調函數 205
15.2.1 常規異步任務 205
15.2.2 計時器 207
15.3 Promise對象 209
15.3.1 聲明並使用Promise對象 209
15.3.2 錯誤處理 212
15.3.3 最終必須被執行的代碼 213
15.3.4 組合Promise對象 214
15.3.5 創建resolved或rejected狀態的Promise對象 215
15.4 異步函數 215
15.4.1 Promise對象的局限性 215
15.4.2 使用async創建異步函數 217
15.4.3 通過await使用異步函數 217
15.4.4 以異步函數優化Promise對象 218
第 16章 內置引用對象 220
16.1 Date對象 220
16.1.1 創建日期 220
16.1.2 格式化日期 221
16.1.3 獲取或設置日期 222
16.2 RegExp對象 224
16.2.1 創建RegExp對象 224
16.2.2 在字符串的方法中傳入RegExp對象 225
16.2.3 直接使用RegExp對象 226
16.3 單例內置對象 227
16.3.1 globalThis對象 227
16.3.2 Math對象 228
16.3.3 console對象 230
第 17章 多線程編程 233
17.1 瀏覽器多線程—Web Worker 233
17.1.1 Web Worker的工作原理 233
17.1.2 專用Worker線程 234
17.1.3 共享Worker線程 237
17.1.4 Worker線程間的數據傳遞 239
17.2 服務器多線程:Worker Threads 240
17.2.1 基本使用 240
17.2.2 錯誤處理 242
17.2.3 其他事件 242
17.2.4 註冊一次性事件 243
第三部分 編譯與調試
第 18章 編譯 247
18.1 編譯命令 247
18.1.1 直接編譯指定文件 247
18.1.2 編譯選項:編譯文件及輸出路徑 248
18.1.3 編譯選項:按需輸出 JavaScript代碼 249
18.1.4 編譯選項:具有調試作用的選項 250
18.1.5 編譯選項:類型 檢查 251
18.2 配置文件 255
18.2.1 tsconfig.json文件的創建及匹配規則 255
18.2.2 文件列表 257
18.2.3 編譯選項 259
18.2.4 項目引用 261
18.2.5 配置繼承 265
18.2.6 其他配置 267
18.3 三斜線指令 268
18.3.1 引用其他文件 269
18.3.2 指定包含在編譯中的庫文件 269
18.3.3 註意事項及其他指令 270
第 19章 在IDE中編寫和調試代碼 272
19.1 使用Visual Studio Code編寫代碼 272
19.1.1 常用功能 272
19.1.2 代碼編寫選項 274
19.1.3 擴展功能 278
19.2 調試TypeScript代碼 279
19.2.1 在IDE中調試代碼 279
19.2.2 在瀏覽器中調試代碼 280
第 20章 引入擴展工具 282
20.1 引入靜態檢查工具 ESLint 282
20.1.1 ESLint的安裝與 應用 282
20.1.2 配置檢查規則 284
20.2 引入單元測試工具Jest 285
20.2.1 Jest的安裝與 配置 285
20.2.2 編寫和執行單元測試 286
第四部分 項目應用
第 21章 在TypeScript項目中使用JavaScript 291
21.1 使用聲明文件 291
21.1.1 使用聲明文件的原因 291
21.1.2 為JavaScript編寫聲明文件 293
21.1.3 為TypeScript生成聲明 文件 296
21.2 使用第三方 JavaScript 296
21.2.1 使用自帶聲明文件的第三方庫 296
21.2.2 使用DefinitelyTyped聲明文件庫 297
21.2.3 自行編寫聲明模塊 297
21.3 將項目從JavaScript遷移到TypeScript中 299
第 22章 使用TypeScript開發後端項目 300
22.1 後端開發簡介 301
22.1.1 常用的後端框架 301
22.1.2 Express框架的用法 301
22.2 實戰項目案例:編寫任務管理系統後端API 304
22.2.1 編寫任務類型聲明並實現 任務數據訪問功能 304
22.2.2 編寫任務管理後端 服務API 306
第 23章 使用TypeScript開發前端項目 309
23.1 前端開發簡介 309
23.1.1 常用的前端框架 309
23.1.2 React框架的用法 310
23.2 實戰項目案例:編寫任務管理系統的前端界面 311
23.2.1 編寫任務類型聲明及任務管理後端API 312
23.2.2 編寫添加任務UI組件及任務列表項UI組件 313
23.2.3 編寫任務管理頁面及樣式 315