MST

星途 面试题库

面试题:TypeScript 类型保护中 typeof 类型保护的使用场景及示例

请阐述在 TypeScript 中 typeof 类型保护的适用场景,并给出一个实际代码示例,展示如何通过 typeof 进行运行时检查来优化代码中的类型判断。
29.9万 热度难度
前端开发TypeScript

知识考点

AI 面试

面试题答案

一键面试

typeof 类型保护适用场景

  1. 函数参数类型判断:在函数内部,当一个参数可能是多种类型时,通过 typeof 可以在运行时确定实际传入的类型,从而执行不同的逻辑。
  2. 变量类型检查:当一个变量在不同阶段可能被赋予不同类型的值时,使用 typeof 可以在特定代码块中确保变量类型符合预期。

实际代码示例

function printValue(value: string | number) {
    if (typeof value ==='string') {
        console.log(value.toUpperCase());
    } else {
        console.log(value.toFixed(2));
    }
}

printValue('hello');
printValue(42);

在上述代码中,printValue 函数接受一个可能是 stringnumber 类型的参数 value。通过 typeof 类型保护,在运行时判断 value 的实际类型,进而执行针对 string 类型的 toUpperCase 方法或针对 number 类型的 toFixed 方法,优化了代码中的类型判断逻辑。