MST

星途 面试题库

面试题:TypeScript类型守卫与泛型结合应用

编写一个通用函数`getProperty`,该函数接受一个对象和一个属性名作为参数。使用类型守卫和泛型确保当传入的对象确实拥有该属性时,函数返回该属性的值,否则返回`null`。例如`let obj = {name: 'Alice', age: 30}; getProperty(obj, 'name')`应返回`'Alice'`,`getProperty(obj, 'address')`应返回`null`。
36.8万 热度难度
前端开发TypeScript

知识考点

AI 面试

面试题答案

一键面试
function getProperty<T, K extends keyof T>(obj: T, prop: K): T[K] | null {
    if (prop in obj) {
        return obj[prop];
    }
    return null;
}