TypeScript 语言特性:运算符与函数详解
1. 类型守卫与函数示例
在处理不同类型的对象时,类型守卫是一种非常有用的技术。例如,下面的 volume 函数用于计算不同类型棱柱的体积:
function volume(prism: Prism): number {
// Type Guard
switch (prism.kind) {
case 'cube':
return prism.size * prism.size * prism.size;
case 'cuboid':
return prism.width * prism.depth * prism.height;
default:
assertNever(prism);
break;
}
}
function assertNever(arg: never): never {
throw new Error("Possible new tagged type: " + arg);
}
这个函数通过 switch 语句根据 prism 的 kind 属性来确定其类型,并执行相应的体积计算。如果出现未处理的类型, assertNever 函数会抛出错误。
2. 运算符
超级会员免费看
订阅专栏 解锁全文
300

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



