微信扫一扫,移动浏览光盘

简介

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

目录

目录
前言 .................................... 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
类装饰器 ...........

已确认勘误

次印刷

页码 勘误内容 提交人 修订印次

Learning TypeScript中文版
    • 名称
    • 类型
    • 大小

    光盘服务联系方式: 020-38250260    客服QQ:4006604884

    意见反馈

    14:15

    关闭

    云图客服:

    尊敬的用户,您好!您有任何提议或者建议都可以在此提出来,我们会谦虚地接受任何意见。

    或者您是想咨询:

    用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问

    Video Player
    ×
    Audio Player
    ×
    pdf Player
    ×
    Current View

    看过该图书的还喜欢

    some pictures

    解忧杂货店

    东野圭吾 (作者), 李盈春 (译者)

    loading icon