《Learning TypeScript中文版》是2016年11月電子工業出版社出版的書籍,作者是Remo H·Jansen(雷莫 H·詹森 )。
基本介紹
- 中文名:Learning TypeScript中文版
- 作者:Remo H·Jansen(雷莫 H·詹森 )
- 譯者:龍逸楠 蔡偉 迷走
- 出版時間:2016年11月
- 出版社:電子工業出版社
- 頁數:344 頁
- ISBN: 9787121300479
- 定價:89.00
- 開本:16 開
內容提要,目錄,
內容提要
《Learning TypeScript中文版》首先介紹了TypeScript 的基本語法和基本的自動化工作流配置方法,然後從面向對象入手,著重介紹了面向對象的概念和它的一些最佳實踐,並結合例子講解了如何基於TypeScript 的類型系統套用這些最佳實踐。隨後剖析了TypeScript 在編譯後的運行時行為,並從性能與測試的角度講解了如何編寫健壯的TypeScript 代碼,所以書中還包括了性能分析與測試相關的內容。最後介紹了如何使用TypeScript 結合面向對象、MVC 等概念,並配合本書前面提到的自動化的工作流、面向對象最佳實踐、性能最佳化和測試等內容實現一個單頁套用(SPA)框架,並用這個框架構建了一個單頁套用。
《Learning TypeScript中文版》適合使用TypeScript 來構建大型Web 套用的開發人員。
目錄
前言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
裝飾器工廠232
帶有參數的裝飾器234
反射元數據API 235
小結239
9 套用架構240
單頁套用架構241
MV* 架構246
MV* 框架中的組件和功能247
model 247
collection 248
item view 248
collection view 249
controller 250
事件251
路由和hash (#) 導航251
中介器254
調度器255
客戶端渲染和Virtual DOM 256
用戶界面數據綁定256
數據流258
Web component 和shadow DOM 259
選擇一個程式框架260
從零開始實現一個MVC 框架261
準備工作262
程式事件264
中介器265
程式組件268
路由表270
事件發射271
路由272
調度器275
controller 279
model 和model settings 280
view 和view settings 283
框架287
小結288
10 匯總289
準備工作289
程式依賴290
程式中的數據291
程式架構292
程式檔案結構293
配置自動構建流程294
程式布局297
實現根組件298
實現market controller 299
實現NASDAQ model 302
實現NYSE model 303
實現market view 304
實現market 模板306
實現symbol controller 308
實現quote model 309
實現symbol view 311
實現chart model 313
實現chart view 316
測試套用318
準備發布程式319
小結320