首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何从泛型键中获取泛型属性的确切类型

从泛型键中获取泛型属性的确切类型,可以通过类型推断和反射来实现。

首先,我们需要定义一个泛型函数,该函数接受一个泛型键和一个对象作为参数,并返回泛型属性的确切类型。代码示例如下:

代码语言:txt
复制
function getPropertyType<T, K extends keyof T>(key: K, obj: T): T[K] {
  return obj[key];
}

上述代码中,T 表示对象的类型,K 表示泛型键的类型,keyof T 表示 T 对象的所有键的联合类型。函数的返回类型 T[K] 表示泛型属性的确切类型。

接下来,我们可以使用该函数来获取泛型属性的确切类型。例如,我们有一个对象 person,它有一个泛型属性 name,我们可以通过调用 getPropertyType 函数来获取 name 属性的确切类型。代码示例如下:

代码语言:txt
复制
interface Person {
  name: string;
  age: number;
}

const person: Person = {
  name: "John",
  age: 30,
};

const nameType = getPropertyType("name", person);
console.log(nameType); // 输出为 "string"

在上述示例中,我们调用 getPropertyType 函数,并传入泛型键 "name" 和对象 person。函数返回的 nameType 类型被推断为 "string",即 name 属性的确切类型。

推荐的腾讯云相关产品:无

参考链接:

  • TypeScript 泛型:https://www.typescriptlang.org/docs/handbook/2/generics.html
  • TypeScript 反射:https://www.typescriptlang.org/docs/handbook/2/reflect-metadata.html
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券