MST

星途 面试题库

面试题:TypeScript类型守卫与联合类型的复杂处理

有一个联合类型`Value = string | number | boolean`,编写一个函数`processValue`,使用类型守卫分别处理不同类型的值。如果是`string`类型,返回其长度;如果是`number`类型,返回其平方;如果是`boolean`类型,返回其取反的值。并且要求函数的类型标注完整且准确。
30.4万 热度难度
前端开发TypeScript

知识考点

AI 面试

面试题答案

一键面试
function processValue(value: Value): number | boolean {
    if (typeof value ==='string') {
        return value.length;
    } else if (typeof value === 'number') {
        return value * value;
    } else if (typeof value === 'boolean') {
        return!value;
    }
}

type Value = string | number | boolean;