Iは、ラムダ関数はa
引数に追加のプロパティを必要とするので、署名は互換性があってはならないので、このコードなぜこのlambda関数はtypescriptでエラーではありませんか?
let x: (a: { b: number }) => void = (a: { b: number, c: string }) => { alert(a.c) };
x({ b: 123 });
は、エラーが発生しなければならない想像。しかし、これを最新のタイスクリプトの遊び場で試しても、エラーは発生しません!何故ですか?
は厳密に実際の機能は限り構造的なタイピングが懸念しているとして、xの型と一致しない話します。 – toskv