0
交差タイプの関数タイプは、私が期待するように動作しません。このサンプルを取る:TypeScript関数のタイプ交差
var c: ((x: number) => void) = x => { };
これはうまくコンパイルされます。 x
はラムダの数字です。
しかし、これは失敗します。
var c: ((x: number) => void) & ((x: number | string) => void) = x => { };
それは "暗黙のうちX 'あらゆる' タイプを持っている" と言います。 (--noExplicitAnyでコンパイルする。)
でもこれは同じ発言で失敗します。
var c: ((x: number) => void) & ((x: number) => void) = x => { };
ないすべてのタイプT
ため、T & T
は本当に奇妙である、T
と同じであることを意味します。