• Babel 插件通关秘籍
  • Git 原理详解及实用指南
  • Nest 通关秘籍
  • React 通关秘籍
  • TypeScript 全面进阶指南
  • TypeScript 类型体操通关秘籍
  • 现代CSS
  • Babel 插件通关秘籍
  • Git 原理详解及实用指南
  • Nest 通关秘籍
  • React 通关秘籍
  • TypeScript 全面进阶指南
  • TypeScript 类型体操通关秘籍
  • 现代CSS
  • TypeScript 类型体操通关秘籍

    • 1.如何阅读本小册
    • 2.为什么说 TypeScript 的火爆是必然?
    • 3.TypeScript 类型编程为什么被叫做类型体操?
    • 4.TypeScript 类型系统支持哪些类型和类型运算?
    • 5.套路一:模式匹配做提取
    • 6.套路二:重新构造做变换
    • 7.套路三:递归复用做循环
    • 8.套路四:数组长度做计数
    • 9.套路五:联合分散可简化
    • 10.套路六:特殊特性要记清
    • 11.类型体操顺口溜
    • 12.TypeScript 内置的高级类型有哪些?
    • 13.真实案例说明类型编程的意义
    • 14.类型编程综合实战一
    • 15.类型编程综合实战二
    • 16.新语法 infer extends 是如何简化类型编程的
    • 17.原理篇:逆变、协变、双向协变、不变
    • 18.原理篇:编译 ts 代码用 tsc 还是 babel?
    • 19.原理篇:实现简易 TypeScript 类型检查
    • 20.原理篇:如何阅读 TypeScript 源码
    • 21.原理篇:一些特殊情况的说明
    • 22.小册总结
    • 23.加餐:3 种类型来源和 3 种模块语法
    • 24.加餐:用 Project Reference 优化 tsc 编译性能
    • 25.加餐:一道 3 层的 ts 面试题
    • 26.加餐:项目中 2 个真实的类型编程案例
    • 27.加餐:TypeScript 新语法 satisfies:用声明 or 用推导?
    • 28.加餐:JSDoc 真能取代 TypeScript?
    • 29.加餐:一道字节面试真题

TypeScript 类型体操通关秘籍

掌握 TypeScript 类型体操的 6 大套路,成为类型编程高手!

你会学到什么?

  • 掌握 TypeScript 类型系统中的类型和类型运算
  • 熟练运用 TypeScript 类型编程的各种套路,完成实战
  • 理解 TypeScript 类型检查的实现原理
  • 学会阅读 TypeScript 源码

作者介绍

作者介绍

前阿里架构组前端工程师,《Babel 插件通关秘籍》小册作者,对前端编译原理、前端工程化等有深入研究。目前正在维护的个人公众号:“神光的编程秘籍”。

小册介绍

小册自述

类型编程是 TypeScript 深水区技能,因为比较复杂,被戏称为“类型体操”。但它其实有一些套路,只要掌握它们,类型编程就没那么难了。

这本小册会先带大家熟悉 TypeScript 类型系统中的各种类型和类型运算,然后把类型编程的六大套路总结成顺口溜帮助大家记忆。在详细解释每一个套路之后,也提供了大量的实战案例(案例都有 playground 的地址)帮助大家巩固所学知识。比如:

  • 模式匹配做提取的案例合并

  • 重新构造做变换的案例合并

  • 递归复用做循环的案例合并

等等。

信心满满

我相信,按照这样的路线学习,你一定能够彻底掌握 TypeScript 类型编程,成为类型体操高手!

适宜人群

  • 想进一步提升 TypeScript 类型编程能力的前端工程师
  • 想重点提升 TypeScript 类型体操水平的工程师
  • 想了解类型检查实现原理,学会如何阅读 TypeScript 源码的工程师

购买需知

  • 本小册为图文形式内容服务,共计 21 节;
  • 自 2022 年 2 月 18 日上线,全部章节现已更新完成;
  • 购买用户可享有小册永久的阅读权限;
  • 购买用户可进入小册微信群,与作者互动;
  • 掘金小册为虚拟内容服务,一经购买成功概不退款;
  • 掘金小册版权归北京北比信息技术有限公司所有,任何机构、媒体、网站或个人未经本网协议授权不得转载、链接、转贴或以其他方式复制发布/发表,违者将依法追究责任;
  • 在掘金小册阅读过程中,如有任何问题,请邮件联系 xiaoce@xitu.io
上次更新: 6/21/25, 9:42 AM
贡献者: YNight