呦呦鹿鳴處 書卷彙成川

聯繫我們:
《TypeScript入門與實戰》封面

TypeScript入門與實戰

出版年份:
ISBN: 9787111669722
豆瓣評分: 8.0

標籤

編程計算機前端typescriptWeb前端開發Web前端JavaScript還行,適合新手

踏入代碼新世界,這本書將是你開啟TypeScript之旅的絕佳指南! **第一站:初探TypeScript的魅力(第1-2章)** 我們將一同揭開TypeScript的神秘面紗,瞭解它為何而生,又將如何顛覆你的編碼方式。從搭建開發環境到編寫你的第一個TypeScript程序,你將親身體驗從0到1的成就感。 **第二站:重溫JavaScript的精髓(第3-4章)** 如果你對JavaScript有所耳聞,或者想打下紮實的基礎,這一篇將帶你回顧JavaScript的核心知識,並探索那些讓它充滿活力的前沿特性。 **第三站:玩轉TypeScript的類型魔法(第5-7章)** 這才是本書的“點睛之筆”!我們將深入TypeScript最引以為傲的類型系統。學會馴服類型,你的代碼將變得前所未有的健壯、可維護,告別那些惱人的運行時錯誤。 **第四站:TypeScript的實戰演練(第8-9章)** 紙上得來終覺淺,絕知此事要躬行。本篇將帶你進入TypeScript的實際應用場景,學習如何高效管理項目配置,並將其無縫集成到你的開發工具中,讓你的開發效率更上一層樓。 **溫馨提示:** 如果你已是JavaScript的老司機,完全可以直接跳到第三篇,直奔TypeScript的核心“類型魔法”。但如果你還想鞏固一下基礎,或者打算系統學習JavaScript,我強烈建議你按順序閱讀,並輔以其他資料,一同探索這門魅力無限的語言。 書中所有代碼都以清晰的等寬字體呈現,並貼心地加上了行號。別錯過彩蛋——所有示例代碼都可以在GitHub上找到(傳送門:https://github.com/tstutorial/code),讓你隨時隨地動手實踐,將所學化為己用! 準備好了嗎?讓我們一起出發,解鎖TypeScript的強大力量,編寫更優雅、更可靠的代碼吧!

前言
第一篇 初識TypeScript
第1章 TypeScript簡介  2
1.1 什麼是TypeScript  2
1.1.1 始於JavaScript,終於JavaScript  3
1.1.2 可選的靜態類型  4
1.1.3 開放與跨平臺  4
1.2 為什麼要使用TypeScript  5
1.2.1 易於發現代碼中的錯誤  5
1.2.2 提高生產力  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 在線編寫並運行TypeScript  10
2.1.1 Hello World!  11
2.1.2 擴展功能:選擇TypeScript版本  12
2.1.3 擴展功能:TypeScript配置項  12
2.2 本地編寫並運行TypeScript  13
2.2.1 選擇代碼編輯器  13
2.2.2 安裝Visual Studio Code  15
2.2.3 安裝TypeScript  15
2.2.4 創建文件  16
2.2.5 編譯程序  17
2.2.6 運行程序  18
2.2.7 可選步驟:設置默認構建任務  18
第二篇 TypeScript語言概覽
第3章 TypeScript語言基礎  22
3.1 變量  22
3.1.1 變量名  23
3.1.2 變量聲明  23
3.2 註釋  24
3.2.1 單行註釋與多行註釋  25
3.2.2 區域註釋  25
3.3 數據類型  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 數組  34
3.6.1 數組字面量  34
3.6.2 數組中的元素  34
3.7 函數  34
3.7.1 函數聲明  34
3.7.2 函數表達式  35
3.7.3 箭頭函數  36
第4章 TypeScript語言進階  37
4.1 BigInt  37
4.1.1 創建BigInt  38
4.1.2 BigInt與Number  38
4.2 展開運算符  39
4.2.1 展開數組字面量  39
4.2.2 展開對象字面量  39
4.2.3 展開函數參數  39
4.3 解構  40
4.3.1 數組解構  40
4.3.2 對象解構  40
4.4 可選鏈運算符  40
4.4.1 基礎語法  41
4.4.2 短路求值  41
4.5 空值合併運算符  42
第三篇 TypeScript類型系統
第5章 TypeScript類型基礎  44
5.1 類型註解  44
5.2 類型檢查  45
5.2.1 非嚴格類型檢查  45
5.2.2 嚴格類型檢查  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 數值型枚舉  55
5.4.2 字符串枚舉  56
5.4.3 異構型枚舉  57
5.4.4 枚舉成員映射  58
5.4.5 常量枚舉成員與計算枚舉成員  58
5.4.6 聯合枚舉類型  62
5.4.7 const枚舉類型  65
5.5 字面量類型  66
5.5.1 boolean字面量類型  66
5.5.2 string字面量類型  67
5.5.3 數字字面量類型  67
5.5.4 枚舉成員字面量類型  68
5.6 單元類型  68
5.7 頂端類型  69
5.7.1 any  69
5.7.2 unknown  71
5.7.3 小結  73
5.8 尾端類型  74
5.8.1 never  74
5.8.2 應用場景  75
5.9 數組類型  76
5.9.1 數組類型定義  76
5.9.2 數組元素類型  78
5.9.3 只讀數組  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 元組類型與數組類型的兼容性  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 函數類型  102
5.12.1 常規參數類型  102
5.12.2 可選參數類型  102
5.12.3 默認參數類型  104
5.12.4 剩餘參數類型  105
5.12.5 解構參數類型  106
5.12.6 返回值類型  106
5.12.7 函數類型字面量  108
5.12.8 調用簽名  109
5.12.9 構造函數類型字面量  110
5.12.10 構造簽名  111
5.12.11 調用簽名與構造簽名  111
5.12.12 重載函數  112
5.12.13 函數中this值的類型  118
5.13 接口  119
5.13.1 接口聲明  119
5.13.2 屬性簽名  120
5.13.3 調用簽名  120
5.13.4 構造簽名  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 成員函數  138
5.15.4 成員存取器  138
5.15.5 索引成員  140
5.15.6 成員可訪問性  140
5.15.7 構造函數  143
5.15.8 參數成員  144
5.15.9 繼承  145
5.15.10 實現接口  150
5.15.11 靜態成員  151
5.15.12 抽象類和抽象成員  153
5.15.13 this類型  155
5.15.14 類類型  156
第6章 TypeScript類型進階  158
6.1 泛型  158
6.1.1 泛型簡介  159
6.1.2 形式類型參數  160
6.1.3 實際類型參數  161
6.1.4 泛型約束  162
6.1.5 泛型函數  165
6.1.6 泛型接口  167
6.1.7 泛型類型別名  168
6.1.8 泛型類  169
6.2 局部類型  170
6.3 聯合類型  171
6.3.1 聯合類型字面量  171
6.3.2 聯合類型的類型成員  173
6.4 交叉類型  176
6.4.1 交叉類型字面量  176
6.4.2 交叉類型的類型成員  178
6.4.3 交叉類型與聯合類型  180
6.5 索引類型  181
6.5.1 索引類型查詢  182
6.5.2 索引訪問類型  185
6.5.3 索引類型的應用  186
6.6 映射對象類型  187
6.6.1 映射對象類型聲明  187
6.6.2 映射對象類型解析  188
6.6.3 映射對象類型應用  188
6.6.4 同態映射對象類型  190
6.7 條件類型  196
6.7.1 條件類型的定義  196
6.7.2 分佈式條件類型  197
6.7.3 infer關鍵字  199
6.8 內置工具類型  201
6.8.1 Partial<T>  201
6.8.2 Required<T>  202
6.8.3 Readonly<T>  202
6.8.4 Record<K, T>  202
6.8.5 Pick<T, K>  202
6.8.6 Omit<T, K>  203
6.8.7 Exclude<T, U>  203
6.8.8 Extract<T, U>  203
6.8.9 NonNullable<T>  203
6.8.10 Parameters<T>  204
6.8.11 ConstructorParameters<T>  204
6.8.12 ReturnType<T>  204
6.8.13 InstanceType<T>  205
6.8.14 ThisParameterType<T>  205
6.8.15 OmitThisParameter<T>  206
6.8.16 ThisType<T>  206
6.9 類型查詢  206
6.10 類型斷言  207
6.10.1 <T>類型斷言  208
6.10.2 as T類型斷言  208
6.10.3 類型斷言的約束  209
6.10.4 const類型斷言  210
6.10.5 !類型斷言  212
6.11 類型細化  213
6.11.1 類型守衛  214
6.11.2 可辨識聯合類型  225
6.11.3 賦值語句分析  232
6.11.4 基於控制流的類型分析  233
6.11.5 斷言函數  233
第7章 TypeScript類型深入  238
7.1 子類型兼容性  238
7.1.1 類型系統可靠性  239
7.1.2 子類型的基本性質  239
7.1.3 頂端類型與尾端類型  240
7.1.4 原始類型  240
7.1.5 函數類型  241
7.1.6 對象類型  245
7.1.7 泛型  249
7.1.8 聯合類型  250
7.1.9 交叉類型  251
7.2 賦值兼容性  251
7.3 類型推斷  253
7.3.1 常規類型推斷  253
7.3.2 按上下文歸類  255
7.4 類型放寬  256
7.4.1 常規類型放寬  256
7.4.2 字面量類型放寬  257
7.5 命名空間  261
7.5.1 命名空間聲明  262
7.5.2 導出命名空間內的聲明  263
7.5.3 別名導入聲明  265
7.5.4 在多文件中使用命名空間  266
7.5.5 小結  269
7.6 模塊  269
7.6.1 模塊簡史  269
7.6.2 ECMAScript模塊  273
7.6.3 模塊導出  273
7.6.4 模塊導入  276
7.6.5 重命名模塊導入和導出  278
7.6.6 針對類型的模塊導入與導出 280
7.6.7 動態模塊導入  284
7.6.8 --module  285
7.7 外部聲明  286
7.7.1 外部類型聲明  287
7.7.2 外部模塊聲明  292
7.8 使用聲明文件  293
7.8.1 語言內置的聲明文件  293
7.8.2 第三方聲明文件  293
7.8.3 自定義聲明文件  298
7.9 模塊解析  299
7.9.1 相對模塊導入  299
7.9.2 非相對模塊導入  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 導入外部模塊聲明  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 擴充模塊聲明  321
7.10.6 擴充全局聲明  322
第四篇 TypeScript應用
第8章 TypeScript配置管理  324
8.1 編譯器  324
8.1.1 安裝編譯器  325
8.1.2 編譯程序  326
8.2 編譯選項  328
8.2.1 編譯選項風格  328
8.2.2 使用編譯選項  330
8.2.3 嚴格類型檢查  331
8.2.4 編譯選項列表  337
8.3 tsconfig.json  338
8.3.1 使用配置文件  338
8.3.2 編譯選項列表  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 /// <reference path="" />  364
8.6.2 /// <reference types="" />  366
8.6.3 /// <reference lib="" />  367
第9章 TypeScript項目實踐  371
9.1 TypeScript與Babel  371
9.1.1 Babel  372
9.1.2 TypeScript編譯器  372
9.1.3 實例演示  374
9.1.4 注意事項  380
9.1.5 小結  381
9.2 TypeScript與webpack  381
9.2.1 webpack  381
9.2.2 實例演示  381
9.2.3 小結  385
9.3 TypeScript與ESLint  385
9.3.1 ESLint  386
9.3.2 實例演示  386
9.3.3 集成Visual Studio Code  390
9.3.4 小結  393
9.4 TypeScript與Visual Studio Code  393
9.4.1 代碼格式化  394
9.4.2 組織模塊導入語句  395
9.4.3 代碼導航  395
9.4.4 快速修復  396
9.4.5 重構工具  396
9.4.6 CodeLens  397

《TypeScript入門與實戰》怎麼樣?值得讀嗎?

《TypeScript入門與實戰》是一部優秀作品,內容豐富深刻,適合對相關主題感興趣的讀者。我們提供完整版電子書,讓您隨時隨地享受閱讀樂趣。

《TypeScript入門與實戰》哪個版本好?推薦哪個出版社?

建議選擇知名出版社的正版,我們提供的是完整未刪節版本,保留了原作的所有精華內容,確保最佳閱讀體驗。

如何免費下載《TypeScript入門與實戰》電子版?

點擊頁面的下載按鈕,我們提供百度網盤、夸克網盤等多種下載方式,支持EPUB、MOBI、PDF、TXT等格式,完全免費。

《TypeScript入門與實戰》作者版本有什麼特色?

我們提供的版本保持了作者原有的寫作風格和內容結構,未經刪改,讓讀者能夠完整體驗作者的思想和表達。

《TypeScript入門與實戰》EPUB和MOBI格式有什麼區別?

EPUB是開放標準格式,適合大多數閱讀器;MOBI是亞馬遜Kindle專用格式,在Kindle設備上閱讀體驗更佳。《TypeScript入門與實戰》的EPUB版本支持動態排版,可調整字體大小;MOBI版本則針對Kindle進行了優化。

《TypeScript入門與實戰》PDF格式是否帶有目錄?

是的,我們提供的PDF版本帶有完整的書籤目錄,方便您快速跳轉到需要的章節。PDF版本還保留了原書排版設計。

如何在安卓手機上閱讀《TypeScript入門與實戰》EPUB格式?

在安卓手機上閱讀《TypeScript入門與實戰》,我們推薦使用以下應用:1. 靜讀天下(Moon+ Reader):支持多種格式,功能豐富;2. 掌閱iReader:界面簡潔,閱讀體驗流暢;3. 多看閱讀:支持雲同步,適合多設備用戶。下載後直接用這些應用打開即可。

如何將《TypeScript入門與實戰》傳輸到Kindle上閱讀?

將《TypeScript入門與實戰》傳輸到Kindle設備有兩種主要方式:1. USB連接方式:通過數據線將Kindle連接到電腦,將MOBI文件複製到Kindle的Documents文件夾中;2. 郵件推送方式:將MOBI文件通過電子郵件發送到您的Kindle郵箱(可在Amazon賬戶中查看)。我們提供的MOBI格式已針對Kindle優化。

《TypeScript入門與實戰》 EPUB格式支持夜間模式嗎?

是的,EPUB格式支持夜間模式,但具體效果取決於您使用的閱讀應用。大多數現代閱讀應用(如靜讀天下、掌閱、多看)都支持夜間模式,允許您調整背景色和文字顏色,減輕夜間閱讀的視覺疲勞。

《TypeScript入門與實戰》電子書是完整版嗎?

是的,我們提供的電子書是完整版,包含原書的全部內容、圖表和附錄。電子書經過專業排版,確保內容完整準確,閱讀體驗流暢。

《TypeScript入門與實戰》電子版與紙質版有什麼區別?

《TypeScript入門與實戰》的電子版內容與紙質版完全一致,包含所有章節和插圖。電子版的優勢在於:支持全文檢索、可調整字體大小、便於隨身攜帶、支持夜間閱讀。某些圖表在不同格式下的呈現效果可能略有差異,但不影響閱讀理解。

閱讀這本書推薦哪種格式?

根據您的設備選擇:Kindle設備推薦MOBI格式;iPad/iPhone設備推薦EPUB格式;安卓設備推薦EPUB格式;電腦閱讀推薦PDF格式(尤其是包含複雜圖表的內容)。如果您需要進行筆記和批註,EPUB和PDF格式會更適合。

《人間詞話》

《人間詞話》是在接受了西方美學影響後所創作的文學評論集,被視為晚清以來最具影響力的著作之一。作者以自己的文藝觀對情與景的關係進行了系統分析,在中國文學批評史上首次提出了“造境”與“寫境”、以及“理想”與“寫實”等議題。該書在沿襲傳統的詞話體例、概念與邏輯的基礎上,巧妙地融入了新的觀念,使所涉及的理論問題具有重要意義。除原有內容外,書中還收錄了尚未發表的稿件、王國維的其他文學作品以及精美的水墨畫,為...

查看詳情 →

《帶一本書去巴黎》

這位作者林達以往因多部聚焦“近距離觀察美國”的作品而知名,如今她攜帶一部關於“革命”的文學經典《九三年》走向巴黎。她在法蘭西的城堡、廣場、宮殿、教堂與博物館間徜徉,咀嚼文化的豐饒、品嚐藝術的盛宴,聆聽歷史的回聲,感悟前人在血與火中凝聚出的思想與智慧——在濃郁的法國曆史文化氛圍中,她以大量的史實細節與場景,豐富了對藝術、文化、歷史、社會以及“革命”的理解。 寫美國題材的林達又開啟了一段浪漫之都的旅...

查看詳情 →

《福爾摩斯探案精選》

英國作家柯南·道爾爵士(1859—1930)筆下的福爾摩斯,早已超越了創作者所在的年代與國界,甚至超越作者本人,成為一個無往不勝、永恆不老的神探形象,亦成了一個廣為人知的通用名詞。本書以道爾爵士在生時親自挑選的被視為“最佳”的若干篇故事為基礎,另外再精選多篇各具特色的偵探佳作,共21篇,彙編成《福爾摩斯探案精選》。並配以精美的原版插圖,一冊在手即可盡覽福爾摩斯探案的精華,值得珍藏與鑑賞。

查看詳情 →

《成功心理學》

這部作品以批判性思維為核心,聚焦於時間與金錢管理、溝通與人際關係等基本能力的提升,幫助讀者打破“成功學”的空泛說法,藉助系統化、科學性的心理學工具,尋找屬於自己的成功路徑。 ※編輯推薦※ 當你已經擁有一份前景可觀的工作,卻心懷其他夢想;當職業遇到瓶頸、渴望突破卻對未知的變動心存顧慮;在自我危機與選擇交匯的路口,你應走向何方?哪條路線才是真正通往成功的正確之道?《成功心理學》引導你用批判性思考來審...

查看詳情 →