面试题答案
一键面试function processValue(value: any): boolean | number | string | undefined {
if (typeof value === 'boolean') {
return!value;
} else if (typeof value === 'number') {
return value * value * value;
} else if (typeof value ==='string') {
return value.split('').reverse().join('');
}
return undefined;
}
这里用到的类型保护机制是 typeof
类型守卫。typeof
操作符可以在运行时检查变量的类型,在 TypeScript 中,通过 typeof
对变量进行类型检查后,TypeScript 编译器能够在后续代码中基于这个类型检查结果进行类型推导,使得代码在特定分支中变量的类型得到明确,从而提高代码的类型安全性。