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

Typescript从名称获取对象属性类型

Typescript是一种静态类型的编程语言,它是JavaScript的超集,为JavaScript添加了静态类型检查和其他一些特性。在Typescript中,可以通过使用泛型和反射机制来获取对象属性的类型。

要从名称获取对象属性类型,可以使用Typescript的keyof和typeof操作符。keyof操作符用于获取对象的属性名称的联合类型,而typeof操作符用于获取属性的类型。

下面是一个示例:

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

type MyObjectKeys = keyof MyObject; // "name" | "age" | "isStudent"

function getPropertyType<T, K extends keyof T>(obj: T, key: K): T[K] {
  return obj[key];
}

const myObject: MyObject = {
  name: "John",
  age: 25,
  isStudent: true,
};

const nameType = getPropertyType(myObject, "name"); // string
const ageType = getPropertyType(myObject, "age"); // number
const isStudentType = getPropertyType(myObject, "isStudent"); // boolean

在上面的示例中,我们定义了一个接口MyObject来描述一个对象类型。然后,我们使用keyof操作符创建了一个类型MyObjectKeys,它是MyObject的属性名称的联合类型。

接下来,我们定义了一个泛型函数getPropertyType,它接受一个对象和一个属性名称,并返回该属性的类型。函数的类型参数T表示对象的类型,类型参数K表示属性名称的类型,它必须是T的属性名称的子类型。

最后,我们创建了一个myObject对象,并使用getPropertyType函数获取了nameageisStudent属性的类型。

对于Typescript的相关概念和语法,可以参考腾讯云的Typescript文档:Typescript | 腾讯云

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券