TypeScript 开发实用指南
1. TypeScript 代码生成与类型系统
TypeScript 为支持旧版运行时生成的代码,相较于原生实现可能会产生性能开销。例如,使用生成器函数并将目标设定为 ES5(早于生成器出现)时, tsc 会生成一些辅助代码以确保代码正常运行,这与原生生成器实现相比会带来一定的开销。不过,这与生成目标和语言级别有关,且与类型无关。
1.1 代码生成与类型系统的关系
- 代码生成独立于类型系统 :TypeScript 类型不会影响代码的运行时行为。
- 含类型错误的程序也可能编译 :即使代码存在类型错误,仍有可能生成代码。
- 类型在运行时不可用 :若要在运行时查询类型,需要进行重建,常见方法有标记联合和属性检查。
- 部分构造引入类型和值 :像
class这样的构造,既会引入 TypeScript 类型,也会引入运行时可用的值。 - 类型不影响运行时性能 :由于类型在编译过程中会被擦除,因此不会影响代码的运行时性能。
2. 熟悉结构类型系统
JavaScript 采用“鸭子类型”,即只要传递给函数的值具有所需的属性,函数就会使用该值,而不关心值的创建方式。TypeScript 使用结构类型系统来模拟这种行为,这有时会产生意想不到的结果,因为类型检查
超级会员免费看
订阅专栏 解锁全文
608

被折叠的 条评论
为什么被折叠?



