定 價(jià):¥88.00
作 者: | [美] 鮑里斯切爾尼 著 |
出版社: | 中國(guó)電力出版社 |
叢編項(xiàng): | |
標(biāo) 簽: | 暫缺 |
ISBN: | 9787519845964 | 出版時(shí)間: | 2020-07-01 | 包裝: | 平裝 |
開(kāi)本: | 16開(kāi) | 頁(yè)數(shù): | 352 | 字?jǐn)?shù): |
前言 1
第1 章 導(dǎo)言 9
第2 章 TypeScript 概述 . 13
2.1 編譯器 .13
2.2 類(lèi)型系統(tǒng) 15
TypeScript VS. JavaScript.16
2.3 代碼編輯器設(shè)置 20
2.3.1 tsconfig.json .20
2.3.2 tslint.json .22
2.4 index.ts 23
2.5 練習(xí)題 .24
第3 章 類(lèi)型全解 26
3.1 類(lèi)型術(shù)語(yǔ) 27
3.2 類(lèi)型淺談 28
3.2.1 any .28
3.2.2 unknown 30
3.2.3 boolean 30
3.2.4 number .32
3.2.5 bigint .33
3.2.6 string 34
3.2.7 symbol .34
3.2.8 對(duì)象 .35
3.2.9 中場(chǎng)休息:類(lèi)型別名、并集和交集.42
3.2.10 數(shù)組 .46
3.2.11 元組 .48
3.2.12 null、undefined、void 和never .51
3.2.13 枚舉 .53
3.3 小結(jié) .58
3.4 練習(xí)題 .58
第4 章 函數(shù) 60
4.1 聲明和調(diào)用函數(shù) 60
4.1.1 可選和默認(rèn)的參數(shù) .62
4.1.2 剩余參數(shù)64
4.1.3 call、apply 和bind 65
4.1.4 注解this 的類(lèi)型 66
4.1.5 生成器函數(shù) 68
4.1.6 迭代器 .70
4.1.7 調(diào)用簽名72
4.1.8 上下文類(lèi)型推導(dǎo) 75
4.1.9 函數(shù)類(lèi)型重載 76
4.2 多態(tài) .83
4.2.1 什么時(shí)候綁定泛型 .88
4.2.2 可以在什么地方聲明泛型 .89
4.2.3 泛型推導(dǎo)91
4.2.4 泛型別名93
4.2.5 受限的多態(tài) 95
4.2.6 泛型默認(rèn)類(lèi)型 100
4.3 類(lèi)型驅(qū)動(dòng)開(kāi)發(fā) 101
4.4 小結(jié) .102
4.5 練習(xí)題 .103
第5 章 類(lèi)和接口 104
5.1 類(lèi)和繼承 104
5.2 super 110
5.3 以this 為返回類(lèi)型 . 111
5.4 接口 . 113
5.4.1 聲明合并 115
5.4.2 實(shí)現(xiàn) . 117
5.4.3 實(shí)現(xiàn)接口還是擴(kuò)展抽象類(lèi) . 119
5.5 類(lèi)是結(jié)構(gòu)化類(lèi)型 120
5.6 類(lèi)既聲明值也聲明類(lèi)型 .121
5.7 多態(tài) .124
5.8 混入 .125
5.9 裝飾器 .129
5.10 模擬final 類(lèi) .132
5.11 設(shè)計(jì)模式 133
5.11.1 工廠(chǎng)模式 133
5.11.2 建造者模式 134
5.12 小結(jié) .136
5.13 練習(xí)題 .136
第6 章 類(lèi)型進(jìn)階 138
6.1 類(lèi)型之間的關(guān)系 139
6.1.1 子類(lèi)型和超類(lèi)型 139
6.1.2 型變 .141
6.1.3 可賦值性148
6.1.4 類(lèi)型拓寬149
6.1.5 細(xì)化 .154
6.2 全面性檢查 159
6.3 對(duì)象類(lèi)型進(jìn)階 161
6.3.1 對(duì)象類(lèi)型的類(lèi)型運(yùn)算符 .161
6.3.2 Record 類(lèi)型 .166
6.3.3 映射類(lèi)型167
6.3.4 伴生對(duì)象模式 170
6.4 函數(shù)類(lèi)型進(jìn)階 171
6.4.1 改善元組的類(lèi)型推導(dǎo) .171
6.4.2 用戶(hù)定義的類(lèi)型防護(hù)措施 .172
6.5 條件類(lèi)型 174
6.5.1 條件分配175
6.5.2 infer 關(guān)鍵字 .177
6.5.3 內(nèi)置的條件類(lèi)型 178
6.6 解決辦法 179
6.6.1 類(lèi)型斷言179
6.6.2 非空斷言180
6.6.3 明確賦值斷言 183
6.7 模擬名義類(lèi)型 184
6.8 安全地?cái)U(kuò)展原型 187
6.9 小結(jié) .189
6.10 練習(xí)題 .190
第7 章 處理錯(cuò)誤 192
7.1 返回null 193
7.2 拋出異常 194
7.3 返回異常 197
7.4 Option 類(lèi)型 199
7.5 小結(jié) .206
7.6 練習(xí)題 .207
第8 章 異步編程、并發(fā)和并行 . 208
8.1 JavaScript 的事件循環(huán) .209
8.2 處理回調(diào) 211
8.3 promise:讓一切回到正軌 214
8.4 async 和await 219
8.5 異步流 .220
事件發(fā)射器.221
8.6 多線(xiàn)程類(lèi)型安全 224
8.6.1 在瀏覽器中:使用Web 職程.224
8.6.2 在NodeJS 中:使用子進(jìn)程 .234
8.7 小結(jié) .235
8.8 練習(xí)題 .236
第9 章 前后端框架 237
9.1 前端框架 237
9.1.1 React 239
9.1.2 Angular 6/7 246
9.2 類(lèi)型安全的API .250
9.3 后端框架 252
9.4 小結(jié) .253
第10 章 命名空間和模塊 254
10.1 JavaScript 模塊簡(jiǎn)史 .255
10.2 import、export .258
10.2.1 動(dòng)態(tài)導(dǎo)入 259
10.2.2 使用CommonJS 和AMD 模塊 262
10.2.3 模塊模式與腳本模式 .262
10.3 命名空間 263
10.3.1 沖突 .265
10.3.2 編譯輸出 266
10.4 聲明合并 268
10.5 小結(jié) .269
10.6 練習(xí)題 .270
第11 章 與JavaScript 互操作 271
11.1 類(lèi)型聲明 272
11.1.1 外參變量聲明 275
11.1.2 外參類(lèi)型聲明 277
11.1.3 外參模塊聲明 278
11.2 逐步從JavaScript 遷移到TypeScript .280
11.2.1 第一步:添加TSC 280
11.2.2 第二步(上):對(duì)JavaScript 代碼做類(lèi)型檢查(可選) 281
11.2.3 第二步(下):添加JSDoc 注解(可選) .283
11.2.4 第三步:把文件重命名為.ts .284
11.2.5 第四步:嚴(yán)格要求 .285
11.3 尋找JavaScript 代碼的類(lèi)型信息 .286
11.4 使用第三方JavaScript .289
11.4.1 自帶類(lèi)型聲明的JavaScript 289
11.4.2 DefinitelyTyped 中有類(lèi)型聲明的JavaScript 290
11.4.3 DefinitelyTyped 中沒(méi)有類(lèi)型聲明的JavaScript 290
11.5 小結(jié) .292
第12 章 構(gòu)建和運(yùn)行TypeScript . 293
12.1 構(gòu)建TypeScript 項(xiàng)目 .293
12.1.1 項(xiàng)目結(jié)構(gòu) 293
12.1.2 構(gòu)建產(chǎn)物 294
12.1.3 設(shè)置編譯目標(biāo) 295
12.1.4 生成源碼映射 300
12.1.5 項(xiàng)目引用 300
12.1.6 監(jiān)控錯(cuò)誤 303
12.2 在服務(wù)器中運(yùn)行TypeScript .304
12.3 在瀏覽器中運(yùn)行TypeScript .304
12.4 把TypeScript 代碼發(fā)布到NPM 中 307
12.5 三斜線(xiàn)指令 308
12.5.1 types 指令 309
12.5.2 amd-module 指令 .310
12.6 小結(jié) . 311
第13 章 總結(jié) 313
附錄A 類(lèi)型運(yùn)算符 . 315
附錄B 實(shí)用類(lèi)型 317
附錄C 限定作用范圍的聲明 . 319
附錄D 為第三方JavaScript 模塊編寫(xiě)聲明文件的
技巧 321
附錄E 三斜線(xiàn)指令 . 329
附錄F 安全相關(guān)的TSC 編譯器標(biāo)志 . 331
附錄G TSX . 333