Effective TypeScript : 精进TypeScript代码的83个实践方法(第二版)
Effective TypeScript : 精进TypeScript代码的83个实践方法(第二版)
Dan Vanderkam
侯璐璐, 马建勋, 娄麒麟 译
出版时间:2025年12月
页数:483
“这本书探讨了在使用 TypeScript 时最常见的问题,并提供了实用且以结果为导向的建议。无论你是TypeScript的新手,还是有经验的开发者,这本书都能为你带来新的收获。”
——Ryan Cavanaugh
微软TypeScript工程主管

TypeScript作为JavaScript的类型化超集,以其独特禀赋化解了JavaScript诸多为人诟病的痼疾。然而,其学习门槛颇为陡峭,唯有经年累月的实践方能洞悉个中奥妙。本书承袭《Effective C++》与《Effective Java》的经典范式,以务实风格呈现了83条精要准则,于进退取舍间勾勒出驾驭这门语言的智慧图谱。
本书作者通过详尽的实例演示,让每一条建议都蕴含着实战的气息。无论你是初窥门径的新手,还是已有根基的中阶开发人员,本书都将引领你突破TypeScript的认知边界,蜕变为深谙其道的语言大师。
新版内容特别针对TypeScript 5进行了重构,增补了类型级编程和TypeScript指南两大篇章。
● 解析TypeScript类型系统的运作机理,领会核心精髓。
● 善用类型推断,以最简注解构筑周全的类型防护壁垒。
● 精研类型设计之道,铸就安全性与可读性兼具的代码基底。
● 活用泛型与类型级编程,建模复杂接口模型。
● 解析依赖关系与声明文件,驾驭模块化工程的隐秘脉络。
● 制定JavaScript向TypeScript的渐进迁移方略,实现工程的平稳演进。
  1. 前言
  2. 第一版前言
  3. 第1章 认识TypeScript
  4. 条款1:TypeScript与JavaScript
  5. 条款2:了解常用的编译选项
  6. 条款3:代码生成独立于类型
  7. 条款4:结构类型的自由度
  8. 条款5:使用any要慎重
  9. 第2章 TypeScript的类型系统
  10. 条款6:借助编辑器探索类型世界
  11. 条款7:值的集合即类型
  12. 条款8:类型空间与值空间
  13. 条款9:类型注解胜于类型断言
  14. 条款10:避免使用对象类型(String、Number、Boolean、Symbol、BigInt)
  15. 条款11:多余属性检查和类型检查
  16. 条款12:函数整体声明类型更安全
  17. 条款13:type别名与interface
  18. 条款14:使用readonly守护不可变值
  19. 条款15:类型操作配泛型,避免重复造轮子
  20. 条款16:类型要精准,索引签名请慎用
  21. 条款17:慎用数字索引签名
  22. 第3章 类型推断与控制流分析
  23. 条款18:避免类型冗余,保持代码整洁
  24. 条款19:类型专属,变量分立
  25. 条款20:类型能溯源,推断全了解
  26. 条款21:对象整装,一次性构造
  27. 条款22:认识类型收窄
  28. 条款23:别名要使用,类型得一致
  29. 条款24:以上下文为基础,类型推导有根有据
  30. 条款25:类型演变,时刻了解
  31. 条款26:函数式构建引航,类型贯通流转
  32. 条款27:async取代回调,类型流转更畅通
  33. 条款28:类与柯里化并举,新建类型推断点
  34. 第4章 类型设计
  35. 条款29:类型即契约,状态需有效
  36. 条款30:宽进严出,契约必守
  37. 条款31:类型勿繁,注释需简
  38. 条款32:类型别名切勿包含null或undefined
  39. 条款33:空值需在类型之外
  40. 条款34:接口组合胜过属性组合
  41. 条款35:类型精确优先,慎用字符串
  42. 条款36:特殊值要有独立类型
  43. 条款37:慎用可选属性
  44. 条款38:同类型参数不传两次
  45. 条款39:统一类型胜过细微差异建模
  46. 条款40:不完全精确的类型胜过不准确的类型
  47. 条款41:以专业领域语言来命名类型
  48. 条款42:孤例不证
  49. 第5章 非健全性与any类型
  50. 条款43:压缩any的作用域
  51. 条款44:更精确的any变体胜过any本身
  52. 条款45:在签名正确的函数内部隐藏不安全类型断言
  53. 条款46:类型未知,unknown胜过any
  54. 条款47:类型安全的方法胜过猴子补丁
  55. 条款48:规避健全性陷阱
  56. 条款49:跟踪类型覆盖率,避免类型安全回退
  57. 第6章 泛型与类型级编程
  58. 条款50:视泛型为类型间的函数
  59. 条款51:避免非必要的类型参数
  60. 条款52:条件类型胜过重载签名
  61. 条款53:控制条件类型在联合类型上的分布
  62. 条款54:使用模板字面量类型建模DSL和字符串之间的关系
  63. 条款55:类型也要测试
  64. 条款56:优化类型的展示方式
  65. 条款57:泛型也要尾递归
  66. 条款58:自动代码生成胜过手写复杂类型
  67. 第7章 TypeScript指南
  68. 条款59:使用Never类型进行类型穷举检查
  69. 条款60:遍历对
  70. 条款61:使用Record类型保持值的同步
  71. 条款62:使用剩余参数和元组类型来建模可变参数函数
  72. 条款63:使用可选的never属性来建模异或关系
  73. 条款64:使用Brand构建名义类型
  74. 第8章 类型声明和@types
  75. 条款65:将TypeScript和@types放在devDependencies中
  76. 条款66:理解类型声明中的三个版本
  77. 条款67:导出所有出现在公共API中的类型
  78. 条款68:使用TSDoc注释API
  79. 条款69:如果this是API的一部分,请在回调中为其指定类型
  80. 条款70:使用镜像类型断开依赖关系
  81. 条款71:使用模块增强来改善类型
  82. 第9章 编写和运行代码
  83. 条款72:与Typescript相比,ECMAScript更胜一筹
  84. 条款73:使用源码映射调试TypeScript
  85. 条款74:了解运行时类型的重组
  86. 条款75:理解DOM的层级关系
  87. 条款76:根据环境创建精确的模型
  88. 条款77:理解类型检查和单元测试之间的关系
  89. 条款78:关注编译器的性能
  90. 第10章 现代化与迁移
  91. 条款79:编写现代化的JavaScript
  92. 条款80:使用@ts-check和JSDoc试验TypeScript
  93. 条款81:使用allowJs混合TypeScript和JavaScript
  94. 条款82:按照依赖逐个进行模块转换
  95. 条款83:在启用noImplicitAny前,不要认为迁移已完成
  96. 附录 第一版与第二版条款对照表
书名:Effective TypeScript : 精进TypeScript代码的83个实践方法(第二版)
作者:Dan Vanderkam
译者:侯璐璐, 马建勋, 娄麒麟 译
国内出版社:中国电力出版社
出版时间:2025年12月
页数:483
书号:978-7-5239-0493-0
原版书书名:Effective TypeScript, 2nd Edition
原版书出版商:O'Reilly Media
Dan Vanderkam
 
Dan Vanderkam是Sidewalk Labs的首席软件工程师,也是TypeScript NYC Meetup的联合创始人。作为开源项目的长期贡献者,他此前曾在西纳山的伊坎医学院工作,并在谷歌负责数十亿用户使用的搜索功能。
 
 
本书封面上的动物是一只红嘴牛椋鸟(学名:Buphagus erythrorhynchus)。这种鸟类栖息于非洲东部的零散地区,从东北部的埃塞俄比亚和索马里,一直到南非的少数区域。然而,更准确地说,它们的栖息地是那些它们几乎终生依附的食草动物的活动范围。
红嘴牛椋鸟与椋鸟和八哥有亲缘关系,但属于一个独立的科。体长约8英寸(约20厘米),体重约2盎司(约57克),头部、背部和尾部为树皮褐色,腹部颜色较浅。最显著的外貌特征是鲜红的喙和红色的眼睛,眼睛外圈还环绕着一圈明亮的黄色眼圈。
这类鸟的一生主要围绕着食物的获取方式展开:红嘴牛椋鸟以蜱虫和其他动物体外寄生虫为食,通常栖息在宿主动物身上觅食。它们最常见的宿主是羚羊类(如捻角羚和黑斑羚),以及体形较大的动物,如斑马、长颈鹿、水牛和犀牛(大象则不容许它们靠近)。为了更高效地觅食,红嘴牛椋鸟进化出了多种适应性特征,例如扁平的喙便于穿透厚实的动物毛发,还有锐利的爪子和坚硬的尾羽,可以帮助它们牢牢抓住宿主动物。这些鸟甚至在宿主身上完成求偶行为,只有在繁殖季节才会离开。它们通常在靠近动物群的树洞中筑巢育雏,每对亲鸟会养育三只幼鸟,巢中常常垫有它们从宿主身上拔下的毛发,便于在育雏期间继续靠近宿主觅食。
红嘴牛椋鸟与宿主动物的关系曾一度被视为互利共生(即两个物种之间互相受益的关系)的经典范例。然而,近年来的研究表明,这些鸟的取食行为对宿主动物体表寄生虫数量的实际影响并不显著;此外,它们还会刻意保持动物伤口的开放状态,以便继续吸食血液。这也为这一种群间关系的性质带来了更多争议。
红嘴牛椋鸟在其分布区域内依然较为常见。尽管农药的使用对其构成威胁,但它们已适应以家养牛群为新的食源,这一转变有助于其种群数量维持稳定。
购买选项
定价:148.00元
书号:978-7-5239-0493-0
出版社:中国电力出版社