在JavaScript中,可以使用泛型和类型推断来实现从以对象的属性名作为参数的函数中将返回值的类型指定为object.propertyName的类型。
首先,我们可以使用泛型来定义一个函数,该函数接受一个对象和一个属性名作为参数,并返回该属性的值。代码示例如下:
function getProperty<T, K extends keyof T>(obj: T, key: K): T[K] {
return obj[key];
}
在上述代码中,T
表示对象的类型,K
表示属性名的类型。keyof T
表示获取对象T
的所有属性名的联合类型。T[K]
表示对象T
的属性K
的类型。
接下来,我们可以使用类型推断来获取返回值的类型,并将其指定为object.propertyName
的类型。代码示例如下:
function getProperty<T, K extends keyof T>(obj: T, key: K): T[K] {
return obj[key];
}
const obj = {
name: 'John',
age: 30,
};
const name: string = getProperty(obj, 'name');
const age: number = getProperty(obj, 'age');
在上述代码中,我们通过调用getProperty
函数并传入对象obj
和属性名name
或age
来获取对应属性的值,并使用类型推断将返回值的类型指定为object.propertyName
的类型。
这样,我们就可以从以对象的属性名作为参数的函数中将返回值的类型指定为object.propertyName
的类型。
推荐的腾讯云相关产品:腾讯云函数(云原生 Serverless 产品),详情请参考腾讯云函数产品介绍。
领取专属 10元无门槛券
手把手带您无忧上云