發表於2024-11-23
TypeScript是一個開源的、跨平颱且帶有類型係統的JavaScript超集,它可以編譯為純JavaScript,然後運行在任意的瀏覽器和其他環境中。它使開發者可以使用一些未來JavaScript標準(ECMAScript 6和7)中的特性。TypeScript為JavaScript添加瞭可選的靜態類型、類和模塊,讓大型JavaScript應用可以使用更好的工具並擁有更清晰的結構。
本書通過大量示例,一步一步讓讀者由淺至深地瞭解TypeScript。首先介紹瞭TypeScript的基本概念,接著介紹瞭像Gulp這樣的自動化工具,以及對函數、泛型、迴調和promise的詳細解釋。還介紹瞭TypeScript中的麵嚮對象特性和內存管理能力。最後,帶領讀者使用本書講解的概念編寫瞭一個單頁麵應用。
你將從本書學到:
√ 學習TypeScript語言的關鍵特性和運行時
√ 開發模塊化、可伸縮、可維護以及可適配的Web應用
√ 編寫符閤SOLID原則的麵嚮對象的代碼
√ 使用像Gulp和Karma這樣的自動化工具來節省時間
√ 使用Mocha、Chai和SinonJS這樣的測試工具來開發健壯的應用
√ 通過實踐從零開發一個單頁麵應用框架,以鞏固你的TypeScript知識
√ 通過TypeScript來使用未來JavaScript標準(ES6和ES7)中的特性
本書首先介紹瞭TypeScript 的基本語法和基本的自動化工作流配置方法,然後從麵嚮對象入手,著重介紹瞭麵嚮對象的概念和它的一些*佳實踐,並結閤例子講解瞭如何基於TypeScript 的類型係統應用這些*佳實踐。隨後剖析瞭TypeScript 在編譯後的運行時行為,並從性能與測試的角度講解瞭如何編寫健壯的TypeScript 代碼,所以書中還包括瞭性能分析與測試相關的內容。*後介紹瞭如何使用TypeScript 結閤麵嚮對象、MVC 等概念,結閤本書前麵提到的自動化的工作流、麵嚮對象*佳實踐、性能優化和測試等內容實現一個單頁應用(SPA)框架,並用這個框架構建瞭一個單頁應用。
Remo H. Jansen 是一位前端工程師、開源項目貢獻者、企業傢、科技愛好者、遊戲愛好者和互聯網愛好者。
他來自西班牙的塞維利亞,但目前居住於愛爾蘭的都柏林,並在那裏做著一份金融服務行業的全職工作。Remo 有著多年的大型JavaScript 應用開發經驗,從航班預定係統到投資組閤管理解決方案。
Remo 在TypeScript 社區中十分活躍。他是都柏林TypeScript 交流會的組織者,並且是InversifyJS(一個TypeScript 應用的控製反轉容器)和AtSpy(一個TypeScript 應用的測試框架)的作者。在他的個人博客(http://blog.wolksoftware.com/)中,他寫瞭許多關於TypeScript 和其他Web 技術的博客。
Remo 也是由Packt Publishing 齣版,Nathan Rozentals 撰寫的Mastering TypeScript 一書的技術審校者。
前言 .................................... XVIII
1 TypeScript簡介 .................. 1
TypeScript的架構 ........................... 1
設計目標 ................................. 1
TypeScript組件 ...................... 3
TypeScript語言特性 ....................... 4
類型 ......................................... 6
變量、基本類型和運算符 ..... 7
流程控製語句 ....................... 14
函數 ....................................... 18
類 ........................................... 20
接口 ....................................... 22
命名空間 ............................... 22
綜閤運用 ....................................... 23
小結 ... 25
2 自動化工作流程 ................ 26
一個現代化的開發工作流程 ....... 26
準備工作 ....................................... 27
Node.js ................................... 27
Atom ...................................... 27
Git和 GitHub ........................ 30
版本控製工具 ............................... 30
包管理工具 ................................... 34
npm ........................................ 35
Bower..................................... 38
tsd .......................................... 38
自動化任務工具 ........................... 39
檢查 TypeScript代碼的質量 41
編譯 TypeScript代碼 ............ 42
優化 TypeScript應用 ............ 44
管理 Gulp任務的執行順序 . 48
自動化測試工具 ........................... 50
使跨設備測試同步 ....................... 52
持續集成工具 ............................... 55
腳手架工具 ................................... 56
小結 ... 58
3 使用函數 .......................... 59
在 TypeScript中使用函數 ............ 60
函數聲明和函數錶達式 ....... 60
函數類型 ............................... 61
有可選參數的函數 ............... 62
有默認參數的函數 ............... 63
有剩餘參數的函數 ............... 64
函數重載 ............................... 66
特定重載簽名 ....................... 67
函數作用域 ........................... 68
立即調用函數 ....................... 71
範型 ....................................... 74
tag函數和標簽模闆 ............. 77
TypeScript中的異步編程 ............. 78
迴調和高階函數 ................... 79
箭頭函數 ............................... 79
迴調地獄 ............................... 81
promise .................................. 86
生成器 ................................... 91
異步函數――async和 await 93
小結 ... 93
4 TypeScript中的麵嚮對象編程 ...................................... 94
SOLID 原則 ................................. 95
類 ....... 95
接口 ... 99
關聯、聚閤和組閤 ..................... 100
關聯 ..................................... 100
聚閤 ..................................... 100
組閤 ..................................... 100
繼承 . 101
混閤 ..................................... 104
範型類 ......................................... 109
範型約束 ..................................... 113
在範型約束中使用多重類型 ......................................... 117
範型中的 new操作 ........... 118
遵循 SOLID原則 ....................... 118
裏氏替換原則 ..................... 118
接口隔離原則 ..................... 120
依賴反轉原則 ..................... 122
命名空間 ..................................... 122
模塊 . 124
ES6模塊――運行時與程序設計時 .............................. 126
外部模塊語法――僅在程序設計階段可用 .................. 127
AMD 模塊定義語法――僅在運行時使用 .................. 128
CommonJS 模塊定義語法――僅在運行時使用 ......... 129
UMD模塊定義語法――僅在運行時使用 ................... 130
SystemJS模塊定義 ――僅在運行時使用 ..................... 131
循環依賴 ..................................... 131
小結 . 133
5 運行時 .............................134
環境 . 135
運行時的一些概念 ..................... 135
幀 ......................................... 136
棧 ......................................... 137
隊列 ..................................... 137
堆 ......................................... 137
事件循環 ............................. 137
this操作符 .................................. 138
全局上下文中的 this操作符 .......................................... 139
函數上下文中的 this操作符 .......................................... 139
call、apply和 bind方法 ..... 140
原型 . 143
實例屬性與類屬性的對比 . 144
基於原型的繼承 ................. 147
原型鏈 ................................. 151
訪問對象的原型 ................. 152
new操作符 .......................... 153
閉包 . 153
閉包和靜態變量 ................. 155
閉包和私有成員 ................. 157
小結 . 159
6 應用性能 .........................160
準備工作 ..................................... 160
性能和資源 ................................. 161
性能指標 ..................................... 162
可用性 ................................. 162
響應時間 ............................. 162
處理速度 ............................. 162
延遲 ..................................... 162
帶寬 ..................................... 163
可伸縮性 ............................. 163
性能分析 ..................................... 163
網絡性能分析 ..................... 163
網絡性能與用戶體驗 ......... 168
GPU性能分析 .................... 172
CPU性能分析 .................... 174
內存性能分析 ..................... 176
垃圾迴收器 ......................... 178
性能自動化 ................................. 178
性能優化自動化 ................. 178
性能監測自動化 ................. 179
性能測試自動化 ................. 180
錯誤處理 ..................................... 180
Error類 ................................ 181
try…catch 語句和 throw 語句 ..................................... 182
小結 . 182
7 應用測試 .........................183
軟件測試術語錶 ......................... 183
斷言 ..................................... 184
測試規範 ............................. 185
測試用例 ............................. 185
測試套件 ............................. 185
測試監視 ............................. 185
替身 ..................................... 185
測試樁 ................................. 185
模擬 ..................................... 185
測試覆蓋率 ......................... 186
必要的準備 ................................. 186
Gulp ..................................... 187
Karma .................................. 187
Istanbul ................................ 187
Mocha .................................. 187
Chai ...................................... 188
Sinon.JS ............................... 188
類型定義 ............................. 188
PhantomJS ........................... 189
Selenium和 Nightwatch.js 189
測試計劃和方法 ......................... 190
測試驅動開發 ..................... 190
行為驅動測試 ..................... 191
測試計劃和測試類型 ......... 191
建立測試基礎結構 ..................... 192
使用 Gulp構建這個程序 ... 193
使用 Karma運行單元測試 197
使用 Selenium和 Nightwatch.js運行 E2E測試 ........... 200
使用 Mocha和 Chai創建測試斷言、規範和套件 ............... 203
測試異步代碼 ..................... 207
斷言異常 ............................. 208
Mocha和 Chai的 TDD與 BDD對比 ........................... 209
使用 Sinon.JS編寫測試監視和測試樁 ................................. 209
測試監視 ............................. 213
測試樁 ................................. 215
使用 Nightwatch.js創建端對端測試 ..................................... 216
生成測試覆蓋率報告 ................. 217
小結 . 220
8 裝飾器 .............................221
條件準備 ..................................... 221
注解和裝飾器 ............................. 222
類裝飾器 ............................. 223
方法裝飾器 ......................... 226
屬性裝飾器 ......................... 228
參數裝飾器 ......................... 230
Learning TypeScript(中文版) 下載 mobi epub pdf txt 電子書 格式
Learning TypeScript(中文版) 下載 mobi pdf epub txt 電子書 格式 2024
Learning TypeScript(中文版) 下載 mobi epub pdf 電子書必經之路,學完必然很強很厲害
評分原書已經有些年頭瞭,用於入門還是不錯。
評分物流超級慢,沒有在指定時間送到,書還沒看,
評分怎麼說呢,入門還算可以,但彆期望太多乾貨
評分五百字五百字五百字
評分東西不錯,傢人很喜歡,下次還會買
評分這本書非常不錯
評分書收到瞭 快遞很給力 以後還會支持京東的 嗬嗬
評分Learning TypeScript(中文版) mobi epub pdf txt 電子書 格式下載 2024