MST

星途 面试题库

面试题:TypeScript中自定义类型守卫的基本实现

请使用TypeScript实现一个简单的自定义类型守卫函数,用于判断一个变量是否为字符串类型,并解释类型守卫在类型检查中的作用。
40.7万 热度难度
前端开发TypeScript

知识考点

AI 面试

面试题答案

一键面试

实现自定义类型守卫函数

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的判断结果,能够准确识别somethingstring类型,进而允许访问string类型的属性和方法。