Infer初探
介绍
介绍
基础
在讨论为什么使用 TypeScript 时,我们表述了 TypeScript 类型系统的主要功能。以下是一些关键点:
类型兼容性
函数
TypeScript 支持 JSX 转换和代码分析,如果你还不了解 JSX,官网上有关于它的摘要:
实用的TypeScript Repositories:
基于字符串的枚举
原文链接: what are covariance and contravariance
TypeScript 编译器提供了两个发射器:
TypeScript 扫描器的源码均位于 scanner.ts。在内部,由解析器控制扫描器将源码转化为抽象语法树(AST)。期望结果如下:
Node 节点
如前所述,检查器使得 TypeScript 更独特,比其它 JavaScript 转译器更强大。检查器位于 checker.ts 中,当前有 23k 行以上的代码(编译器中最大的部分)
TypeScript 编译器源文件位于 src/compiler 目录下
大多数的 JavaScript 转译器(transpiler)都比 TypeScript 简单,因为它们几乎没提供代码分析的方法。典型的 JavaScript 转换器只有以下流程:
TypeScript 解析器代码均位于 parser.ts 中。在内部,由解析器控制扫描器将源码转化为 AST。其期望结果如下:
TypeScript 是一种专注于帮助开发人员的编程语言,当错误出现时,它会提供尽可能提供非常有用的错误信息。这对于那些信任使用者的编译器来说,可能会导致轻微的信息量过载,而不会那么实用。