js中的Object.keys是对象的
ts中是类型
UserKeys 就是 "id" | "name"
js
const user = {
id: 666,
name: '阿宝哥'
};
function getProperty(obj, key) {
return obj[key];
}
getProperty(user, 'id');
ts
const user = {
id: 666,
name: '阿宝哥'
};
function getProperty<T extends object, K extends keyof T>(obj: T, key: K) {
return obj[key];
}
console.log(getProperty(user, 'id'));
给它添加函数的返回数据,类型就是
function getProperty<T extends object, K extends keyof T>(obj: T, key: K): T[K] {
return obj[key];
}