我将我的通用类型定义为
interface IDictionary<TValue> {
[key: string|number]: TValue;
}
但是TSLint在抱怨。我应该如何定义一个对象索引类型,可以将其键定义为任何一种类型?我也尝试了这些,但没有成功。
interface IDictionary<TKey, TValue> {
[key: TKey]: TValue;
}
interface IDictionary<TKey extends string|number, TValue> {
[key: TKey]: TValue;
}
type IndexKey = string | number;
interface IDictionary<TValue> {
[key: IndexKey]: TValue;
}
interface IDictionary<TKey extends IndexKey, TValue> {
[key: TKey]: TValue;
}
以上方案均不适用。