注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計(jì)TypeScript入門與實(shí)戰(zhàn)

TypeScript入門與實(shí)戰(zhàn)

TypeScript入門與實(shí)戰(zhàn)

定 價(jià):¥99.00

作 者: 鐘勝平 著
出版社: 機(jī)械工業(yè)出版社
叢編項(xiàng):
標(biāo) 簽: 暫缺

ISBN: 9787111669722 出版時間: 2020-12-01 包裝: 平裝
開本: 16開 頁數(shù): 408 字?jǐn)?shù):  

內(nèi)容簡介

  本書系統(tǒng)化介紹TypeScript程序設(shè)計(jì),包括四大部分。 第一篇“初識TypeScript”介紹TypeScript與JavaScript的關(guān)系以及快速開始編寫第一個TypeScript程序。 第二篇“ TypeScript語言概覽”介紹TypeScript語言基礎(chǔ)、迭代器與生成器、裝飾器、命名空間、模塊等。 第三篇“TypeScript類型系統(tǒng)”介紹TypeScript類型,如面量、枚舉、非Nullable、非Nullable等,還介紹了更多高級類型,如聯(lián)合、交叉、索引、映射對象、泛型、類類型、接口、類型別名、多態(tài)的this、有條件類型、類型查詢、類型斷言等,最后介紹類型更深入內(nèi)容,如類型聲明合并、類型推論、類型兼容性、外部類型聲明、編寫聲明文件等。 第四篇“TypeScript應(yīng)用”通過綜合案例介紹TypeScript的配置管理、開發(fā)技巧等。

作者簡介

  鐘勝平有近10年的Web開發(fā)經(jīng)驗(yàn)以及若干TypeScript項(xiàng)目的開發(fā)經(jīng)驗(yàn)。參與過多個大型項(xiàng)目的開發(fā),涉及信息服務(wù)、工業(yè)自動化、醫(yī)療等領(lǐng)域,深入了解JavaScript及其應(yīng)用,在工作中積累了大量經(jīng)驗(yàn),善于總結(jié),樂于分享,寫了大量技術(shù)文章。

圖書目錄

【篇 初識TypeScript】
第1章 TypeScript簡介  2
1.1 什么是TypeScript  2
1.1.1 始于JavaScript,終于JavaScript  3
1.1.2 可選的靜態(tài)類型  4
1.1.3 開放與跨平臺  4
1.2 為什么要使用TypeScript  5
1.2.1 易于發(fā)現(xiàn)代碼中的錯誤  5
1.2.2 提高生產(chǎn)力  6
1.2.3 支持JavaScript的特性  7
1.3 成功案例  8
1.3.1 Visual Studio Code  8
1.3.2 Angular  9
第2章 快速開始  10
2.1 在線編寫并運(yùn)行TypeScript  10
2.1.1 Hello World!  11
2.1.2 擴(kuò)展功能:選擇TypeScript版本  12
2.1.3 擴(kuò)展功能:TypeScript配置項(xiàng)  12
2.2 本地編寫并運(yùn)行TypeScript  13
2.2.1 選擇代碼編輯器  13
2.2.2 安裝Visual Studio Code  15
2.2.3 安裝TypeScript  15
2.2.4 創(chuàng)建文件  16
2.2.5 編譯程序  17
2.2.6 運(yùn)行程序  18
2.2.7 可選步驟:設(shè)置默認(rèn)構(gòu)建任務(wù)  18
【第二篇 TypeScript語言概覽】
第3章 TypeScript語言基礎(chǔ)  22
3.1 變量  22
3.1.1 變量名  23
3.1.2 變量聲明  23
3.2 注釋  24
3.2.1 單行注釋與多行注釋  25
3.2.2 區(qū)域注釋  25
3.3 數(shù)據(jù)類型  26
3.3.1 Undefined  27
3.3.2 Null  27
3.3.3 Boolean  27
3.3.4 String  27
3.3.5 Number  28
3.3.6 Symbol  28
3.3.7 Object  29
3.4 字面量  29
3.4.1 Null字面量  30
3.4.2 Boolean字面量  30
3.4.3 Number字面量  30
3.4.4 字符串字面量  30
3.4.5 模板字面量  30
3.5 對象  31
3.5.1 對象字面量  31
3.5.2 原型對象  32
3.6 數(shù)組  34
3.6.1 數(shù)組字面量  34
3.6.2 數(shù)組中的元素  34
3.7 函數(shù)  34
3.7.1 函數(shù)聲明  34
3.7.2 函數(shù)表達(dá)式  35
3.7.3 箭頭函數(shù)  36
第4章 TypeScript語言進(jìn)階  37
4.1 BigInt  37
4.1.1 創(chuàng)建BigInt  38
4.1.2 BigInt與Number  38
4.2 展開運(yùn)算符  39
4.2.1 展開數(shù)組字面量  39
4.2.2 展開對象字面量  39
4.2.3 展開函數(shù)參數(shù)  39
4.3 解構(gòu)  40
4.3.1 數(shù)組解構(gòu)  40
4.3.2 對象解構(gòu)  40
4.4 可選鏈運(yùn)算符  40
4.4.1 基礎(chǔ)語法  41
4.4.2 短路求值  41
4.5 空值合并運(yùn)算符  42
【第三篇 TypeScript類型系統(tǒng)】
第5章 TypeScript類型基礎(chǔ)  44
5.1 類型注解  44
5.2 類型檢查  45
5.2.1 非嚴(yán)格類型檢查  45
5.2.2 嚴(yán)格類型檢查  45
5.3 原始類型  46
5.3.1 boolean  46
5.3.2 string  47
5.3.3 number  47
5.3.4 bigint  47
5.3.5 symbol與unique symbol  47
5.3.6 Nullable  50
5.3.7 void  53
5.4 枚舉類型  54
5.4.1 數(shù)值型枚舉  55
5.4.2 字符串枚舉  56
5.4.3 異構(gòu)型枚舉  57
5.4.4 枚舉成員映射  58
5.4.5 常量枚舉成員與計(jì)算枚舉成員  58
5.4.6 聯(lián)合枚舉類型  62
5.4.7 const枚舉類型  65
5.5 字面量類型  66
5.5.1 boolean字面量類型  66
5.5.2 string字面量類型  67
5.5.3 數(shù)字字面量類型  67
5.5.4 枚舉成員字面量類型  68
5.6 單元類型  68
5.7 類型  69
5.7.1 any  69
5.7.2 unknown  71
5.7.3 小結(jié)  73
5.8 尾端類型  74
5.8.1 never  74
5.8.2 應(yīng)用場景  75
5.9 數(shù)組類型  76
5.9.1 數(shù)組類型定義  76
5.9.2 數(shù)組元素類型  78
5.9.3 只讀數(shù)組  79
5.10 元組類型  80
5.10.1 元組的定義  80
5.10.2 只讀元組  81
5.10.3 訪問元組中的元素  82
5.10.4 元組類型中的可選元素  83
5.10.5 元組類型中的剩余元素  83
5.10.6 元組的長度  84
5.10.7 元組類型與數(shù)組類型的兼容性  85
5.11 對象類型  85
5.11.1 Object  86
5.11.2 object  89
5.11.3 對象類型字面量  91
5.11.4 弱類型  97
5.11.5 多余屬性  97
5.12 函數(shù)類型  102
5.12.1 常規(guī)參數(shù)類型  102
5.12.2 可選參數(shù)類型  102
5.12.3 默認(rèn)參數(shù)類型  104
5.12.4 剩余參數(shù)類型  105
5.12.5 解構(gòu)參數(shù)類型  106
5.12.6 返回值類型  106
5.12.7 函數(shù)類型字面量  108
5.12.8 調(diào)用簽名  109
5.12.9 構(gòu)造函數(shù)類型字面量  110
5.12.10 構(gòu)造簽名  111
5.12.11 調(diào)用簽名與構(gòu)造簽名  111
5.12.12 重載函數(shù)  112
5.12.13 函數(shù)中this值的類型  118
5.13 接口  119
5.13.1 接口聲明  119
5.13.2 屬性簽名  120
5.13.3 調(diào)用簽名  120
5.13.4 構(gòu)造簽名  121
5.13.5 方法簽名  121
5.13.6 索引簽名  122
5.13.7 可選屬性與方法  125
5.13.8 只讀屬性與方法  126
5.13.9 接口的繼承  127
5.14 類型別名  129
5.14.1 類型別名聲明  129
5.14.2 遞歸的類型別名  130
5.14.3 類型別名與接口  132
5.15 類  133
5.15.1 類的定義  134
5.15.2 成員變量  135
5.15.3 成員函數(shù)  138
5.15.4 成員存取器  138
5.15.5 索引成員  140
5.15.6 成員可訪問性  140
5.15.7 構(gòu)造函數(shù)  143
5.15.8 參數(shù)成員  144
5.15.9 繼承  145
5.15.10 實(shí)現(xiàn)接口  150
5.15.11 靜態(tài)成員  151
5.15.12 抽象類和抽象成員  153
5.15.13 this類型  155
5.15.14 類類型  156
第6章 TypeScript類型進(jìn)階  158
6.1 泛型  158
6.1.1 泛型簡介  159
6.1.2 形式類型參數(shù)  160
6.1.3 實(shí)際類型參數(shù)  161
6.1.4 泛型約束  162
6.1.5 泛型函數(shù)  165
6.1.6 泛型接口  167
6.1.7 泛型類型別名  168
6.1.8 泛型類  169
6.2 局部類型  170
6.3 聯(lián)合類型  171
6.3.1 聯(lián)合類型字面量  171
6.3.2 聯(lián)合類型的類型成員  173
6.4 交叉類型  176
6.4.1 交叉類型字面量  176
6.4.2 交叉類型的類型成員  178
6.4.3 交叉類型與聯(lián)合類型  180
6.5 索引類型  181
6.5.1 索引類型查詢  182
6.5.2 索引訪問類型  185
6.5.3 索引類型的應(yīng)用  186
6.6 映射對象類型  187
6.6.1 映射對象類型聲明  187
6.6.2 映射對象類型解析  188
6.6.3 映射對象類型應(yīng)用  188
6.6.4 同態(tài)映射對象類型  190
6.7 條件類型  196
6.7.1 條件類型的定義  196
6.7.2 分布式條件類型  197
6.7.3 infer關(guān)鍵字  199
6.8 內(nèi)置工具類型  201
6.8.1 Partial  201
6.8.2 Required  202
6.8.3 Readonly  202
6.8.4 Record  202
6.8.5 Pick  202
6.8.6 Omit  203
6.8.7 Exclude  203
6.8.8 Extract  203
6.8.9 NonNullable  203
6.8.10 Parameters  204
6.8.11 ConstructorParameters  204
6.8.12 ReturnType  204
6.8.13 InstanceType  205
6.8.14 ThisParameterType  205
6.8.15 OmitThisParameter  206
6.8.16 ThisType  206
6.9 類型查詢  206
6.10 類型斷言  207
6.10.1 類型斷言  208
6.10.2 as T類型斷言  208
6.10.3 類型斷言的約束  209
6.10.4 const類型斷言  210
6.10.5 !類型斷言  212
6.11 類型細(xì)化  213
6.11.1 類型守衛(wèi)  214
6.11.2 可辨識聯(lián)合類型  225
6.11.3 賦值語句分析  232
6.11.4 基于控制流的類型分析  233
6.11.5 斷言函數(shù)  233 第7章 TypeScript類型深入  238
7.1 子類型兼容性  238
7.1.1 類型系統(tǒng)可靠性  239
7.1.2 子類型的基本性質(zhì)  239
7.1.3 類型與尾端類型  240
7.1.4 原始類型  240
7.1.5 函數(shù)類型  241
7.1.6 對象類型  245
7.1.7 泛型  249
7.1.8 聯(lián)合類型  250
7.1.9 交叉類型  251
7.2 賦值兼容性  251
7.3 類型推斷  253
7.3.1 常規(guī)類型推斷  253
7.3.2 按上下文歸類  255
7.4 類型放寬  256
7.4.1 常規(guī)類型放寬  256
7.4.2 字面量類型放寬  257
7.5 命名空間  261
7.5.1 命名空間聲明  262
7.5.2 導(dǎo)出命名空間內(nèi)的聲明  263
7.5.3 別名導(dǎo)入聲明  265
7.5.4 在多文件中使用命名空間  266
7.5.5 小結(jié)  269
7.6 模塊  269
7.6.1 模塊簡史  269
7.6.2 ECMAScript模塊  273
7.6.3 模塊導(dǎo)出  273
7.6.4 模塊導(dǎo)入  276
7.6.5 重命名模塊導(dǎo)入和導(dǎo)出  278
7.6.6 針對類型的模塊導(dǎo)入與導(dǎo)出 280
7.6.7 動態(tài)模塊導(dǎo)入  284
7.6.8 --module  285
7.7 外部聲明  286
7.7.1 外部類型聲明  287
7.7.2 外部模塊聲明  292
7.8 使用聲明文件  293
7.8.1 語言內(nèi)置的聲明文件  293
7.8.2 第三方聲明文件  293
7.8.3 自定義聲明文件  298
7.9 模塊解析  299
7.9.1 相對模塊導(dǎo)入  299
7.9.2 非相對模塊導(dǎo)入  300
7.9.3 模塊解析策略  301
7.9.4 模塊解析策略之Classic  301
7.9.5 模塊解析策略之Node  304
7.9.6 --baseUrl  308
7.9.7 paths  310
7.9.8 rootDirs  312
7.9.9 導(dǎo)入外部模塊聲明  312
7.9.10 --traceResolution  313
7.10 聲明合并  314
7.10.1 接口聲明合并  315
7.10.2 枚舉聲明合并  317
7.10.3 類聲明合并  318
7.10.4 命名空間聲明合并  318
7.10.5 擴(kuò)充模塊聲明  321
7.10.6 擴(kuò)充全局聲明  322
【第四篇 TypeScript應(yīng)用】
第8章 TypeScript配置管理  324
8.1 編譯器  324
8.1.1 安裝編譯器  325
8.1.2 編譯程序  326
8.2 編譯選項(xiàng)  328
8.2.1 編譯選項(xiàng)風(fēng)格  328
8.2.2 使用編譯選項(xiàng)  330
8.2.3 嚴(yán)格類型檢查  331
8.2.4 編譯選項(xiàng)列表  337
8.3 tsconfig.json  338
8.3.1 使用配置文件  338
8.3.2 編譯選項(xiàng)列表  340
8.3.3 編譯文件列表  342
8.3.4 聲明文件列表  346
8.3.5 繼承配置文件  348
8.4 工程引用  351
8.4.1 使用工程引用  352
8.4.2 工程引用示例  353
8.4.3 --build  354
8.4.4 solution模式  356
8.5 JavaScript類型檢查  357
8.5.1 編譯JavaScript  357
8.5.2 JavaScript類型檢查  358
8.5.3 JSDoc與類型  360
8.6 三斜線指令  363
8.6.1 ///  364
8.6.2 ///  366
8.6.3 ///  367
第9章 TypeScript項(xiàng)目實(shí)踐  371
9.1 TypeScript與Babel  371
9.1.1 Babel  372
9.1.2 TypeScript編譯器  372
9.1.3 實(shí)例演示  374
9.1.4 注意事項(xiàng)  380
9.1.5 小結(jié)  381
9.2 TypeScript與webpack  381
9.2.1 webpack  381
9.2.2 實(shí)例演示  381
9.2.3 小結(jié)  385
9.3 TypeScript與ESLint  385
9.3.1 ESLint  386
9.3.2 實(shí)例演示  386
9.3.3 集成Visual Studio Code  390
9.3.4 小結(jié)  393
9.4 TypeScript與Visual Studio Code  393
9.4.1 代碼格式化  394
9.4.2 組織模塊導(dǎo)入語句  395
9.4.3 代碼導(dǎo)航  395
9.4.4 快速修復(fù)  396
9.4.5 重構(gòu)工具  396
9.4.6 CodeLens  397

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) www.afriseller.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號