面试题答案
一键面试实现自定义类型守卫函数
function isString(value: any): value is string {
return typeof value ==='string';
}
类型守卫在类型检查中的作用
类型守卫用于在运行时检查值的类型,使得TypeScript能够在特定代码块内细化类型信息。它帮助开发者在条件判断分支内,让TypeScript知晓变量的确切类型,从而避免类型相关错误,增强代码的安全性和可维护性。例如:
let something: string | number;
something = 'hello';
if (isString(something)) {
// 在这个if块内,TypeScript知道something是string类型
console.log(something.length);
}
这样在if
块内,TypeScript基于类型守卫isString
的判断结果,能够准确识别something
为string
类型,进而允许访问string
类型的属性和方法。