从具有变量的联合类型中选择类型可以使用类型保护来实现。类型保护是一种在运行时检查变量类型的机制,以便在代码中根据不同的类型执行不同的逻辑。
在 TypeScript 中,有几种常见的类型保护方式可以用来从具有变量的联合类型中选择类型:
function processValue(value: string | number) {
if ((value as string).toUpperCase) {
// value 是字符串类型
console.log(value.toUpperCase());
} else {
// value 是数字类型
console.log(value.toFixed(2));
}
}
function processValue(value: string | number) {
if (typeof value === 'string') {
// value 是字符串类型
console.log(value.toUpperCase());
} else {
// value 是数字类型
console.log(value.toFixed(2));
}
}
class MyClass {
// ...
}
function processValue(value: MyClass | string) {
if (value instanceof MyClass) {
// value 是 MyClass 类型
console.log(value.method());
} else {
// value 是字符串类型
console.log(value.toUpperCase());
}
}
这些类型保护方式可以根据变量的类型执行不同的逻辑,从而实现从具有变量的联合类型中选择类型的目的。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云