MST

星途 面试题库

面试题:TypeScript中Partial工具类型在函数参数中的应用

编写一个函数,它接受一个由上述`User`接口(假设接口定义不变)通过`Partial`转换后的对象作为参数,函数功能是打印出对象中所有已定义的属性及其值。要求正确处理属性可能不存在的情况,并解释这种参数类型设计的优势。
26.3万 热度难度
前端开发TypeScript

知识考点

AI 面试

面试题答案

一键面试
interface User {
    name: string;
    age: number;
    email: string;
}

function printUserInfo(user: Partial<User>) {
    for (const key in user) {
        if (user.hasOwnProperty(key)) {
            console.log(`${key}: ${user[key as keyof typeof user]}`);
        }
    }
}

// 示例使用
const partialUser: Partial<User> = { name: 'John' };
printUserInfo(partialUser);

这种参数类型设计的优势

  1. 灵活性:使用Partial转换后的类型允许传入部分属性的对象,在实际应用场景中,比如更新用户信息的接口,可能只需要传入需要更新的部分字段,而不是完整的用户信息,这样调用者的使用更加灵活。
  2. 安全性:在TypeScript中,这种设计仍然会受到类型检查的约束,保证传入的属性是User接口中定义过的,避免传入非法属性,提高代码的健壮性。