MST
星途 面试题库

面试题:TypeScript联合类型与类型守卫在复杂对象结构中的应用

给定一个联合类型`{ type: 'user'; name: string; age: number } | { type: 'product'; name: string; price: number }`,创建一个函数`processData`,该函数接受此联合类型的参数。使用类型守卫,当数据类型为`'user'`时,返回用户信息字符串`${name} is ${age} years old`;当数据类型为`'product'`时,返回产品信息字符串`${name} costs ${price}`。
15.8万 热度难度
前端开发TypeScript

知识考点

AI 面试

面试题答案

一键面试
function processData(data: { type: 'user'; name: string; age: number } | { type: 'product'; name: string; price: number }): string {
    if (data.type === 'user') {
        return `${data.name} is ${data.age} years old`;
    } else {
        return `${data.name} costs ${data.price}`;
    }
}