MST

星途 面试题库

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

请解释TypeScript中自定义类型保护的概念,并给出一个简单示例,例如判断一个变量是否是字符串类型的自定义类型保护函数。
18.3万 热度难度
前端开发TypeScript

知识考点

AI 面试

面试题答案

一键面试

自定义类型保护概念

在TypeScript中,类型保护是一种运行时检查机制,它允许我们在代码执行过程中缩小变量的类型范围。自定义类型保护则是开发者根据特定逻辑自定义的用于缩小类型范围的函数。这些函数返回一个类型谓词,用于明确某个变量属于特定类型。

示例 - 判断变量是否为字符串类型的自定义类型保护函数

function isString(value: any): value is string {
    return typeof value ==='string';
}

let myVar: string | number;
myVar = "Hello";

if (isString(myVar)) {
    console.log(myVar.length); // 此时TypeScript知道myVar是字符串类型,可访问length属性
} else {
    console.log(myVar.toFixed(2)); // 若不是字符串类型,可按number类型处理
}