Typescript 我怎样才能知道未提及的打字规则?

Typescript 我怎样才能知道未提及的打字规则?,typescript,Typescript,在年,我学到了一个接口 interface Example { a: 'string'; b: 'number'; } 身份 Example[a | b] = Example[a] | Example[b] 在typescript生态系统中也是如此,这有点令人惊讶,因为它似乎在任何文档中都没有被提及,至少我在任何地方都找不到它,如果有人真的向我展示一些文档,我会很高兴 如果在任何地方都没有提到,有人能告诉我,为什么打字稿中存在未提及的规则?那不是有点马虎吗?更有趣的是:打字的其他潜规

在年,我学到了一个接口

interface Example {
  a: 'string';
  b: 'number';
}
身份

Example[a | b] = Example[a] | Example[b]
在typescript生态系统中也是如此,这有点令人惊讶,因为它似乎在任何文档中都没有被提及,至少我在任何地方都找不到它,如果有人真的向我展示一些文档,我会很高兴


如果在任何地方都没有提到,有人能告诉我,为什么打字稿中存在未提及的规则?那不是有点马虎吗?更有趣的是:打字的其他潜规则是什么?我在哪里可以了解他们?

文档不全面。如果是的话,它会被延长很多倍,没有人会费心去读它

但在typescriptrepo中,添加某些特性的pull请求通常都有很好的文档记录。不幸的是,没有人负责维护参考手册,因为它将所有内容都放在一个地方,所以您必须进行一些挖掘

对于这条规则

Example['a' | 'b'] = Example['a'] | Example['b']
您必须找出引入keyof和索引访问类型的版本-它在上

在这里,您可以看到该版本的主要拉取请求和已修复问题的列表,其中之一是

在公共关系中,你可以找到规则,其中一条是

否则,当K不是类型参数时,T[K]解析如下:

如果K是联合类型K1 | K2 |…|Kn,T[K]等于T[K1]| T[K2]|……|T[Kn]
我的建议是挂在打字机上 很多常见的问题/解决方案/类型脚本理论都被张贴在那里,上面提到的文档并不全面


我想说,坐在那里可以帮助你非常快速地从别人那里学到问题和解决方案。

取决于你所说的“未提及”是什么意思。有些事情,只是其他规则的结果。有些东西记录在github上。官方文档是一个起点,但没有详细介绍高级主题,可能是正在进行的文档的下一次迭代