1 、interface
interface TypeD{
subTypeA: string;
subTypeB: number;
}
interface TypeProp{
typeA: string;
typeB: number;
typeC: boolean;
typeD: TypeD;
}
2 、data
const data1: TypeProp = {
typeA: 'yes',
typeB: 1,
typeC: true,
typeD: {
subTypeA: 'no',
subTypeB: 0,
}
}
3 、function
const dosomething = (data: keyof TypeProp):[?] => {
return data1[data]
}
请问 [?] 处我需要怎么处理(或者我需要如何定义 dosomething),才能表示返回的是 data1[data]的类型
我想要的
const b = dosomething('typeB') // b 是 number 类型
const c = dosomething('typeC') // c 是 boolean 类型
const d = dosomething('typeD') // d 是 TypeD 类型
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.