搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
文献来源:
出版时间 :
Learning TypeScript中文版
0.00    
图书来源: 浙江图书馆(由图书馆配书)
  • 配送范围:
    全国(除港澳台地区)
  • ISBN:
    9787121300479
  • 作      者:
    (西)Remo H. Jansen著
  • 出 版 社 :
    电子工业出版社
  • 出版日期:
    2016
收藏
编辑推荐

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)中的特性


展开
作者简介

    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 一书的技术审校者。


展开
内容介绍

  本书首先介绍了TypeScript 的基本语法和基本的自动化工作流配置方法,然后从面向对象入手,着重介绍了面向对象的概念和它的一些*佳实践,并结合例子讲解了如何基于TypeScript 的类型系统应用这些*佳实践。随后剖析了TypeScript 在编译后的运行时行为,并从性能与测试的角度讲解了如何编写健壮的TypeScript 代码,所以书中还包括了性能分析与测试相关的内容。*后介绍了如何使用TypeScript 结合面向对象、MVC 等概念,结合本书前面提到的自动化的工作流、面向对象*佳实践、性能优化和测试等内容实现一个单页应用(SPA)框架,并用这个框架构建了一个单页应用。

展开
目录

前言 .................................... 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

展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

请选择您读者所在的图书馆

选择图书馆
浙江图书馆
点击获取验证码
登录
没有读者证?在线办证