在TypeScript中,可以使用泛型和类型推断来声明函数返回命名属性的类型。以下是一种常见的方法:
function getProperty<T, K extends keyof T>(obj: T, key: K): T[K] {
return obj[key];
}
上述代码中,getProperty
函数接受两个参数:obj
表示一个对象,key
表示对象的属性名。函数的返回类型使用了泛型和索引类型查询操作符keyof
,通过T[K]
来表示返回的属性类型。
使用示例:
interface Person {
name: string;
age: number;
}
const person: Person = {
name: "John",
age: 25,
};
const nameValue = getProperty(person, "name"); // nameValue的类型为string
const ageValue = getProperty(person, "age"); // ageValue的类型为number
在上述示例中,我们声明了一个Person
接口,包含了name
和age
两个属性。然后创建了一个person
对象,并使用getProperty
函数获取了name
和age
属性的值,并分别赋给了nameValue
和ageValue
变量。由于我们在函数声明中使用了泛型和索引类型查询操作符,所以返回的属性值的类型会根据传入的属性名而自动推断出来。
腾讯云相关产品和产品介绍链接地址:
请注意,以上产品仅作为示例,不代表推荐或支持的品牌商。
领取专属 10元无门槛券
手把手带您无忧上云