TypeScript Map类型的自动补全,键和值都相同,

fumotvh3  于 5个月前  发布在  TypeScript
关注(0)|答案(1)|浏览(166)

TypeScript版本: 2.3.0-dev.20170324
代码

  1. declare function f<T extends { [P in keyof T]: { x: number } }>(t: T): void;
  2. f({
  3. arbitraryKey: {
  4. /*Here*/
  5. }
  6. });

预期行为:

自动补全给出 x

实际行为:

没有得到有用的自动补全。

q0qdq0h2

q0qdq0h21#

这也是一个在typestyle/typestyle#144上的问题。我用Map类型模拟了另一个例子,其中这种情况发生在typescript playground上。试着在第17行输入,看看自动补全不知道发生了什么。我注意到如果你将变量作为返回值而不是依赖于函数的返回值,就不会发生这种情况。
示例

相关问题