TypeScript学习手册
Josh Goldberg
安道 译
出版时间:2024年05月
页数:325
“这是一本精彩绝伦、通俗易懂的学习资料。Josh介绍了TypeScript重点知识,没有分心讲解不必要的细节。”
——Ryan Cavanaugh
微软首席软件工程经理,TypeScript开发主管
“Josh的专业性在书中的每一页都有体现。内容不仅有深刻的教育意义,还充满幽默,引人入胜。”
——Cassidy Williams
开发者体验工程师、创业公司顾问和投资人

TypeScript已经征服JavaScript世界。多份开发人员调查表明,TypeScript是世界上发展最快和最受欢迎的语言之一。世界各地的消费和商业公司广泛使用TypeScript,而且有证据表明,TypeScript能改善大型Web应用的弹性伸缩性能。可是,TypeScript到底是什么?它的原理是什么,我们应该如何使用它呢?
这本实用的书籍能让对“类型”或“类型系统”一无所知的初级和高级JavaScript程序员全面掌握TypeScript基础知识。
你将学到:
● 相较“纯粹的”JavaScript,TypeScript的优势及其类型系统的一般特性。
● 如何使用仅在开发过程中有用的类型注解为TypeScript类型系统提供信息。
● TypeScript如何分析和理解代码,提升现有开发模式的效率。
● TypeScript如何处理数组、类、函数、对象,以及JavaScript内置的其他重要结构。
● 如何高效使用众多TypeScript配置选项,根据团队和项目需要定制TypeScript编译器。
● 如何使用IDE集成的各种功能,例如自动重构和智能代码搜索,提升开发速度、减少bug。
  1. 前言
  2. 第一部分 概念
  3. 第1章 从JavaScript到TypeScript
  4. 1.1 JavaScript的历史
  5. 1.2 纯JavaScript的缺陷
  6. 1.2.1 自由的代价
  7. 1.2.2 松散的文档
  8. 1.2.3 较弱的开发者工具
  9. 1.3 TypeScript应运而生
  10. 1.4 使用TypeScript Playground学习
  11. 1.4.1 TypeScript实战
  12. 1.4.2 规矩之内方有自由
  13. 1.4.3 精准的文档
  14. 1.4.4 较强的开发者工具
  15. 1.4.5 编译句法
  16. 1.5 在本地搭建学习环境
  17. 1.5.1 在本地运行
  18. 1.5.2 编辑器功能
  19. 1.6 TypeScript不是什么
  20. 1.6.1 无法拯救不良代码
  21. 1.6.2 (基本)不是JavaScript的扩展
  22. 1.6.3 不比JavaScript慢
  23. 1.6.4 没有停滞不前
  24. 1.7 小结
  25. 第2章 类型系统
  26. 2.1 类型是什么
  27. 2.1.1 类型系统
  28. 2.1.2 错误种类
  29. 2.2 可赋值性
  30. 2.3 类型注解
  31. 2.4 类型形状
  32. 2.5 小结
  33. 第3章 联合类型和字面量类型
  34. 3.1 联合类型
  35. 3.1.1 声明联合类型
  36. 3.1.2 联合属性
  37. 3.2 收窄
  38. 3.2.1 赋值收窄
  39. 3.2.2 条件检查
  40. 3.2.3 typeof检查
  41. 3.3 字面量类型
  42. 3.4 严格的空值检查
  43. 3.4.1 十亿美元错误
  44. 3.4.2 真值收窄
  45. 3.4.3 没有初始值的变量
  46. 3.5 类型别名
  47. 3.5.1 类型别名不是JavaScript
  48. 3.5.2 组合类型别名
  49. 3.6 小结
  50. 第4章 对象
  51. 4.1 对象类型
  52. 4.1.1 声明对象类型
  53. 4.1.2 对象类型别名
  54. 4.2 结构类型
  55. 4.2.1 用法检查
  56. 4.2.2 超额属性检查
  57. 4.2.3 嵌套对象类型
  58. 4.2.4 可选属性
  59. 4.3 联合对象类型
  60. 4.3.1 推导出的联合对象类型
  61. 4.3.2 显式声明联合对象类型
  62. 4.3.3 收窄对象类型
  63. 4.3.4 可区分联合
  64. 4.4 交叉类型
  65. 4.5 小结
  66. 第二部分 功能
  67. 第5章 函数
  68. 5.1 函数参数
  69. 5.1.1 必要参数
  70. 5.1.2 可选参数
  71. 5.1.3 默认参数
  72. 5.1.4 剩余参数
  73. 5.2 返回值类型
  74. 5.3 函数类型
  75. 5.3.1 函数类型放入圆括号
  76. 5.3.2 参数类型推导
  77. 5.3.3 函数类型别名
  78. 5.4 其他返回值类型
  79. 5.4.1 void
  80. 5.4.2 never
  81. 5.5 函数重载
  82. 5.6 小结
  83. 第6章 数组
  84. 6.1 数组类型
  85. 6.1.1 数组和函数类型
  86. 6.1.2 联合类型数组
  87. 6.1.3 随变any数组
  88. 6.1.4 多维数组
  89. 6.2 数组元素
  90. 6.3 展开运算符和剩余参数
  91. 6.3.1 展开
  92. 6.3.2 展开剩余参数
  93. 6.4 元组
  94. 6.4.1 元组可赋值性
  95. 6.4.2 元组类型推导
  96. 6.5 小结
  97. 第7章 接口
  98. 7.1 类型别名与接口
  99. 7.2 属性的类型
  100. 7.2.1 可选属性
  101. 7.2.2 只读属性
  102. 7.2.3 函数和方法
  103. 7.2.4 调用签名
  104. 7.2.5 索引签名
  105. 7.2.6 嵌套接口
  106. 7.3 接口扩展
  107. 7.3.1 覆盖属性
  108. 7.3.2 扩展多个接口
  109. 7.4 接口合并
  110. 7.5 小结
  111. 第8章 类
  112. 8.1 类方法
  113. 8.2 类属性
  114. 8.2.1 函数属性
  115. 8.2.2 初始化检查
  116. 8.2.3 可选属性
  117. 8.2.4 只读属性
  118. 8.3 以类为类型
  119. 8.4 类和接口
  120. 8.5 扩展类
  121. 8.5.1 扩展可赋值性
  122. 8.5.2 覆盖构造方法
  123. 8.5.3 覆盖方法
  124. 8.5.4 覆盖属性
  125. 8.6 抽象类
  126. 8.7 成员可见性
  127. 8.8 小结
  128. 第9章 类型修饰符
  129. 9.1 顶类型
  130. 9.1.1 重新认识any
  131. 9.1.2 unknown
  132. 9.2 类型谓词
  133. 9.3 类型运算符
  134. 9.3.1 keyof
  135. 9.3.2 typeof
  136. 9.4 类型断言
  137. 9.4.1 断言抛出的错误类型
  138. 9.4.2 非空断言
  139. 9.4.3 类型断言的问题
  140. 9.5 常量断言
  141. 9.5.1 字面量到原始类型
  142. 9.5.2 只读对象
  143. 9.6 小结
  144. 第10章 泛化
  145. 10.1 泛化函数
  146. 10.1.1 显式指定泛化调用的类型
  147. 10.1.2 有多个类型形参的函数
  148. 10.2 泛化接口
  149. 10.3 泛化类
  150. 10.3.1 显式指定泛化类的类型
  151. 10.3.2 扩展泛化类
  152. 10.3.3 实现泛化接口
  153. 10.3.4 泛化方法
  154. 10.3.5 泛化静态类成员
  155. 10.4 泛化类型别名
  156. 10.5 泛化修饰符
  157. 10.6 受限的泛化类型
  158. 10.7 Promise
  159. 10.7.1 创建Promise
  160. 10.7.2 异步函数
  161. 10.8 正确使用泛型
  162. 10.8.1 泛化黄金法则
  163. 10.8.2 泛型命名约定
  164. 10.9 小结
  165. 第三部分 运用
  166. 第11章 声明文件
  167. 11.1 声明文件
  168. 11.2 声明运行时值
  169. 11.2.1 全局值
  170. 11.2.2 全局接口合并
  171. 11.2.3 全局增强
  172. 11.3 内置声明
  173. 11.3.1 库声明
  174. 11.3.2 DOM声明
  175. 11.4 模块声明
  176. 11.5 包类型
  177. 11.5.1 declaration选项
  178. 11.5.2 依赖包类型
  179. 11.5.3 导出包类型
  180. 11.6 DefinitelyTyped
  181. 11.7 小结
  182. 第12章 使用IDE功能
  183. 12.1 代码导航
  184. 12.1.1 查找定义
  185. 12.1.2 查找引用
  186. 12.1.3 查找实现
  187. 12.2 编写代码
  188. 12.2.1 补全名称
  189. 12.2.2 自动更新导入
  190. 12.2.3 代码操作
  191. 12.3 高效处理错误
  192. 12.4 小结
  193. 第13章 配置选项
  194. 13.1 tsc选项
  195. 13.1.1 美观模式
  196. 13.1.2 监视模式
  197. 13.2 TSConfig文件
  198. 13.2.1 tsc --init
  199. 13.2.2 CLI与配置
  200. 13.3 文件引入
  201. 13.3.1 include
  202. 13.3.2 exclude
  203. 13.4 其他扩展
  204. 13.4.1 JSX句法
  205. 13.4.2 resolveJsonModule
  206. 13.5 产出
  207. 13.5.1 outDir
  208. 13.5.2 target
  209. 13.5.3 产出声明
  210. 13.5.4 源码映射
  211. 13.5.5 noEmit
  212. 13.6 类型检查
  213. 13.6.1 lib
  214. 13.6.2 skipLibCheck
  215. 13.6.3 严格模式
  216. 13.7 模块
  217. 13.7.1 module
  218. 13.7.2 moduleResolution
  219. 13.7.3 与CommonJS的互操作性
  220. 13.7.4 isolatedModules
  221. 13.8 JavaScript
  222. 13.8.1 allowJs
  223. 13.8.2 checkJs
  224. 13.8.3 JSDoc支持
  225. 13.9 配置扩展
  226. 13.9.1 extends
  227. 13.9.2 配置基底
  228. 13.10 项目引用
  229. 13.10.1 composite
  230. 13.10.2 references
  231. 13.10.3 构建模式
  232. 13.11 小结
  233. 第四部分 选学
  234. 第14章 句法扩展
  235. 14.1 类参数属性
  236. 14.2 实验性装饰器
  237. 14.3 枚举
  238. 14.3.1 自动填充数值
  239. 14.3.2 字符串值枚举
  240. 14.3.3 不变枚举
  241. 14.4 命名空间
  242. 14.4.1 命名空间导出
  243. 14.4.2 嵌套命名空间
  244. 14.4.3 类型定义中的命名空间
  245. 14.4.4 模块优于命名空间
  246. 14.5 仅导入导出类型
  247. 14.6 小结
  248. 第15章 类型操作
  249. 15.1 映射类型
  250. 15.1.1 类型之间映射
  251. 15.1.2 更改修饰符
  252. 15.1.3 泛化映射类型
  253. 15.2 条件类型
  254. 15.2.1 泛化条件类型
  255. 15.2.2 类型分配律
  256. 15.2.3 推断类型
  257. 15.2.4 映射条件类型
  258. 15.3 never
  259. 15.3.1 never与交叉类型和联合类型
  260. 15.3.2 never和条件类型
  261. 15.3.3 never和映射类型
  262. 15.4 模板字面量类型
  263. 15.4.1 内置的字符串操作类型
  264. 15.4.2 模板字面量键
  265. 15.4.3 重新映射映射类型的键
  266. 15.5 类型操作与复杂度
  267. 15.6 小结
  268. 附录 词汇表
书名:TypeScript学习手册
作者:Josh Goldberg
译者:安道 译
国内出版社:中国电力出版社
出版时间:2024年05月
页数:325
书号:978-7-5198-8775-9
原版书书名:Learning TypeScript
原版书出版商:O'Reilly Media
Josh Goldberg
 
Josh Goldberg是一名开源维护人员和软件顾问,时常向TypeScript及其生态系统中的项目(例如typescript-eslint和TypeStat)做贡献。他曾是Codecademy公司Web平台团队的主力前端开发人员,在公司内推广使用TypeScript,并协助创建了Learn TypeScript课程。
 
 
本书封面上的动物是太阳锥尾鹦鹉(学名:Aratinga solstitialis),一种原产南美洲东北部的彩色鹦鹉。
太阳锥尾鹦鹉(也叫金黄鹦哥)鸟体大部分为金黄色,翼尖绿色,脸颊和腹部带橙色。刚出生时通体橄榄绿色,随着时间推移,雄性和雌性的颜色逐渐变得明亮。一夫一妻制,雌性每窝产蛋3到4枚,孵化期23到27天。主要以水果、花朵、种子、坚果和昆虫为食。
太阳锥尾鹦鹉羽毛亮丽、性格讨喜,是极受欢迎的宠物。这是一种古灵精怪的鸟类,不过有时也很吵闹。
O’Reilly出版的图书,封面上很多动物都濒临灭绝。这些动物都是地球的至宝。
购买选项
定价:98.00元
书号:978-7-5198-8775-9
出版社:中国电力出版社