|
|
1
5
之所以会出现这种情况,是因为索引签名强制所有属性与其返回类型匹配。如Typescript文件所述: https://www.typescriptlang.org/docs/handbook/interfaces.html
索引签名明确表示“每当使用此类型的值对该对象进行索引时,它将返回该类型的值”。 在您的示例中,您的索引签名表示“每当使用字符串索引此对象时,它将返回一个数字”。但是,编译器发现这个规则可能会被破坏,因为您的一个属性不是数字,所以它会抛出一个错误。 我不确定您的问题空间是什么,但是如果动态属性都有共同点,那么创建一个接口来抽象它们的共同点可能会更容易。如何使用上述接口实际上取决于您想做什么。
编辑:你也可以厚颜无耻,走捷径,简单地使用联合类型。所以
|
|
|
Kareem Adel · 创建函数类型(TypeScript接口) 4 年前 |
|
|
donzul · 如何键入接收动态参数并执行递归的函数 8 年前 |
|
|
Ruben · 具有变量键的嵌套TypeScript对象 8 年前 |
|
|
Tom Hudson · TypeScript:从装饰器推断返回类型? 8 年前 |