如果这是一个非常基本的问题,我很抱歉。我正在自学打字稿,根据我的教程,交叉点中类型的顺序应该无关紧要,例如A & B并且B & A应该是相同的类型。
但是我偶然发现了这种边缘情况,其中类型的顺序确实很重要,尽管我不明白为什么。
abstract class Test
{
constructor(a: string, b: boolean)
{ }
}
type A = typeof Test;
type B = new (...args: unknown[]) => unknown;
type AB = ConstructorParameters<A & B>; // unknown[]
type BA = ConstructorParameters<B & A>; // [a: string, b: boolean]
Run Code Online (Sandbox Code Playgroud)
在这种特殊情况下,顺序如何影响结果类型?
还有什么我应该注意的边缘情况吗?
谢谢你。
typescript ×1