TypeScript中是否有糖的语法,我可以说所有interface(/ types)属性的类型都是相同的,而不会针对每个属性提及它。
例如:
export interface allStrings {
prop1: string;
prop2: string;
}
// Sugard as something like this(Pseudo)
export interface allStrings<string> {
prop1,popp2;
}
编辑:我不是在寻找一个接口来说所有类型均为string类型值的对象,而是更多的仅具有指定键且每个对象都具有string类型值的对象。
答案 0 :(得分:4)
您要查找的内容类似于Record<'prop1' | 'prop2', string>
答案 1 :(得分:3)
export interface AllSameType<T> {
[k: string]: T;
}
这是对象的接口,具有任何名称的属性,并且所有属性的类型均为T。
用法:
const strs: AllSameType<string> = { a: '', b: 1 }; // Error, b is not string