typescript返回接口的属性数据,返回类型定义
我有一个函数,我想从一个接口构成的数据对象中查询数据。 此函数应解析数据对象中的属性数据。如果我有任何as返回类型,这是可行的,但是应该有更好的方法,其中返回类型将是属性的类型 我的做法如下:typescript返回接口的属性数据,返回类型定义,typescript,Typescript,我有一个函数,我想从一个接口构成的数据对象中查询数据。 此函数应解析数据对象中的属性数据。如果我有任何as返回类型,这是可行的,但是应该有更好的方法,其中返回类型将是属性的类型 我的做法如下: 在这里,我只返回接口所有属性的联合类型,但是我应该返回我要返回的属性类型。您应该将getData设置为泛型,然后对参数和返回值重复使用泛型类型: interface Rofl { name:string, id:number, } const data: Rofl = { name:&q
在这里,我只返回接口所有属性的联合类型,但是我应该返回我要返回的属性类型。您应该将
getData
设置为泛型,然后对参数和返回值重复使用泛型类型:
interface Rofl {
name:string,
id:number,
}
const data: Rofl = {
name:"lol",
id:1,
};
function getData<T extends keyof Rofl>(property: T): Rofl[T] {
return data[property];
}
const lol:string = getData("name");
接口Rofl{
名称:string,
身份证号码:,
}
常数数据:Rofl={
名字:“lol”,
id:1,
};
函数getData(属性:T):Rofl[T]{
返回数据[属性];
}
const lol:string=getData(“名称”);
您应该使用与typescript Playerd中相同的技术:扩展
keyof
的泛型。顺便说一句,有一个机会你发布了错误的链接到游乐场:它与你的代码没有任何共同之处。嗨,我不太清楚你的意思,你能进一步解释吗?我点击了链接,它至少为我重定向到相同的代码。Typescript保存了你在网站上写的最后一个代码。您看到了正确的代码,因为这是您编写的最后一段代码,但由于您的链接未正确导出,其他人不会看到。好的,我更改了它,您现在应该看到正确的代码。这正是我要查找的!thx:)