TypeScript 核心特性解析与实践应用
1. 编译与类型检查
在 TypeScript 开发中,常有人说代码 “无法编译”,其实这种说法并不准确。严格来讲,只有代码生成过程才是 “编译”。只要 TypeScript 代码是有效的 JavaScript 代码(甚至有时不是),TypeScript 编译器都会生成输出。更准确的说法应该是代码有错误,或者 “类型检查不通过”。
在存在错误的情况下生成代码在实践中是有帮助的。比如构建 Web 应用时,可能知道某个部分存在问题,但由于 TypeScript 即使有错误也会生成代码,所以可以在修复问题之前测试应用的其他部分。不过,提交代码时应尽量确保零错误,避免陷入区分预期和非预期错误的困境。如果想在出现错误时禁止输出,可以在 tsconfig.json 中使用 noEmitOnError 选项,或者在构建工具中使用等效配置。
2. 运行时无法检查 TypeScript 类型
看下面这段代码:
interface Square {
width: number;
}
interface Rectangle extends Square {
height: number;
}
type Shape = Square | Rectangle;
function calculateArea(shape: Shape) {
if (shape instanceof Rectangle) {
// ~~~~~~~~~ 'Rectangle' only ref
超级会员免费看
订阅专栏 解锁全文
811

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



