MST

星途 面试题库

面试题:TypeScript对象类型推断与函数重载

假设我们有一个函数`processData`,它接收一个对象作为参数。如果对象有`name`属性(字符串类型),则返回问候语;如果对象有`age`属性(数字类型),则返回年龄相关描述。请使用TypeScript的类型推断和函数重载来实现该功能,示例代码如下: ```typescript // 请在此处实现processData函数 const obj1 = { name: 'John' }; const obj2 = { age: 30 }; console.log(processData(obj1)); console.log(processData(obj2)); ```
19.9万 热度难度
前端开发TypeScript

知识考点

AI 面试

面试题答案

一键面试
function processData(obj: { name: string }): string;
function processData(obj: { age: number }): string;
function processData(obj: { name?: string; age?: number }): string {
    if ('name' in obj) {
        return `Hello, ${obj.name}!`;
    } else if ('age' in obj) {
        return `The age is ${obj.age}.`;
    }
    return '';
}

const obj1 = { name: 'John' };
const obj2 = { age: 30 };
console.log(processData(obj1));
console.log(processData(obj2));