-
内容大纲
TypeScript作为JavaScript的类型化超集,以其独特禀赋化解了JavaScript诸多为人诟病的痼疾。然而,其学习门槛颇为陡峭,唯有经年累月的实践方能洞悉个中奥妙。本书承袭《Effectiye C++》与《Effective Java》的经典范式,以务实风格呈现了83条精要准则,于进退取舍间勾勒出驾驭这门语言的智慧图谱。
本书作者通过详尽的实例演示,让每一条建议都蕴含着实战的气息。无论你是初窥门径的新手,还是已有根基的中阶开发人员,本书都将引领你突破TypeScript的认知边界,蜕变为深谙其道的语言大师。
新版内容特别针对TypeScript 5进行了重构,增补了类型级编程和TypeScript指南两大篇章。
解析TypeScript类型系统的运作机理,领会核心精髓。
善用类型推断,以最简注解构筑周全的类型防护壁垒。
精研类型设计之道,铸就安全性与可读性兼具的代码基底。
活用泛型与类型级编程,建模复杂接口模型。
解析依赖关系与声明文件,驾驭模块化工程的隐秘脉络。
制定JavaScript向TypeScript的渐进迁移方略,实现工程的平稳演进。 -
作者介绍
丹·范德卡姆,独立软件工程师,TypeScript领域深耕多年的实践者、布道者与生态共建者。他历任Sidewalk Labs首席软件工程师、谷歌首席 软件工程师,工作成果服务了全球数十亿的搜索用户。 -
目录
前言
第一版前言
第1章 认识TypeScript
条款1:TypeScript与JavaScript
条款2:了解常用的编译选项
条款3:代码生成独立于类型
条款4:结构类型的自由度
条款5:使用any要慎重
第2章 TypeScript的类型系统
条款6:借助编辑器探索类型世界
条款7:值的集合即类型
条款8:类型空间与值空间
条款9:类型注解胜于类型断言
条款10:避免使用对象类型(String、Number、Boolean、Symbol、BigInt)
条款11:多余属性检查和类型检查
条款12:函数整体声明类型更安全
条款13:type别名与interface
条款14:使用readonly守护不可变值
条款15:类型操作配泛型,避免重复造轮子
条款16:类型要精准,索引签名请慎用
条款17:慎用数字索引签名
第3章 类型推断与控制流分析
条款18:避免类型冗余,保持代码整洁
条款19:类型专属,变量分立
条款20:类型能溯源,推断全了解
条款21:对象整装,一次性构造
条款22:认识类型收缩
条款23:别名要使用,类型得一致
条款24:以上下文为基础,类型推导有根有据
条款25:类型演变,时刻了解
条款26:函数式构建引航,类型贯通流转
条款27:async取代回调,类型流转更畅通
条款28:类与柯里化并举,新建类型推断点
第4章 类型设计
条款29:类型即契约,状态需有效
条款30:宽进严出,契约必守
条款31:类型勿繁,注释需简
条款32:类型别名切勿包含null或undefined
条款33:空值需在类型之外
条款34:接口组合胜过属性组合
条款35:类型精确优先,慎用字符串
条款36:特殊值要有独立类型
条款37:慎用可选属性
条款38:同类型参数不传两次
条款39:统一类型胜过细微差异建模
条款40:不完全精确的类型胜过不准确的类型
条款41:以专业领域语言来命名类型
条款42:孤例不证
第5章 非健全性与any类型
条款43:压缩any的作用域
条款44:更精确的any变体胜过any本身
条款45:在签名正确的函数内部隐藏不安全类型断言
条款46:类型未知,unknown胜过any
条款47:类型安全的方法胜过猴子补丁
条款48:规避健全性陷阱
条款49:跟踪类型覆盖率,避免类型安全回退
第6章 泛型与类型级编程
条款50:视泛型为类型间的函数
条款51:避免非必要的类型参数
条款52:条件类型胜过重载签名
条款53:控制条件类型在联合类型上的分布
条款54:使用模板字面量类型建模DSL和字符串之间的关系
条款55:类型也要测试
条款56:优化类型的展示方式
条款57:泛型也要尾递归
条款58:自动代码生成胜过手写复杂类型
第7章 TypeScript指南
条款59:使用Never类型进行类型穷举检查
条款60:遍历对象
条款61:使用Record类型保持值的同步
条款62:使用剩余参数和元组类型来建模可变参数函数
条款63:使用可选的never属性来建模异或关系
条款64:使用Brand构建名义类型
第8章 类型声明和@types
条款65:将TypeScript和@types放在devDependencies中
条款66:理解类型声明中的三个版本
条款67:导出所有出现在公共API中的类型
条款68:使用TSDoc注释API
条款69:如果this是API的一部分,请在回调中为其指定类型
条款70:使用镜像类型断开依赖关系
条款71:使用模块增强来改善类型
第9章 编写和运行代码
条款72:与Typescript相比,ECMAScript更胜一筹
条款73:使用源码映射调试TypeScript
条款74:了解运行时类型的重组
条款75:理解DOM的层级关系
条款76:根据环境创建精确的模型
条款77:理解类型检查和单元测试之间的关系
条款78:关注编译器的性能
第10章 现代化与迁移
条款79:编写现代化的JavaScript
条款80:使用@ts-check和JSDoc试验TypeScript
条款81:使用allowJs混合TypeScript和JavaScript
条款82:按照依赖逐个进行模块转换
条款83:在启用noImplicitAny前,不要认为迁移已完成
附录 第一版与第二版条款对照表
同类热销排行榜
- C语言与程序设计教程(高等学校计算机类十二五规划教材)16
- 电机与拖动基础(教育部高等学校自动化专业教学指导分委员会规划工程应用型自动化专业系列教材)13.48
- 传感器与检测技术(第2版高职高专电子信息类系列教材)13.6
- ASP.NET项目开发实战(高职高专计算机项目任务驱动模式教材)15.2
- Access数据库实用教程(第2版十二五职业教育国家规划教材)14.72
- 信号与系统(第3版下普通高等教育九五国家级重点教材)15.08
- 电气控制与PLC(普通高等教育十二五电气信息类规划教材)17.2
- 数字电子技术基础(第2版)17.36
- VB程序设计及应用(第3版十二五职业教育国家规划教材)14.32
- Java Web从入门到精通(附光盘)/软件开发视频大讲堂27.92
推荐书目
-

孩子你慢慢来/人生三书 华人世界率性犀利的一枝笔,龙应台独家授权《孩子你慢慢来》20周年经典新版。她的《...
-

时间简史(插图版) 相对论、黑洞、弯曲空间……这些词给我们的感觉是艰深、晦涩、难以理解而且与我们的...
-

本质(精) 改革开放40年,恰如一部四部曲的年代大戏。技术突变、产品迭代、产业升级、资本对接...
[
