3、TypeScript 核心特性解析与实践应用

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
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值