2020-11-25
https://gyazo.com/e18ffd3723b20cca240b27cf857ccc53
やったー
https://tweet-card.now.sh/1331244013534519298.jpg?lang=ja https://twitter.com/qnighy/status/1331244013534519298
type I=(x: number) => numberとinterface I { (x: number) => number }が等価ってことだろうか?
&はプロパティに対しては再帰的に作用するけど,関数に対してはその作用を持たず,ただインターフェース上に並べたような挙動をする?
F1 & F2が内部的に
code: typescript
interface F1F2 {
(x: number) => number;
(x: number | string) => number | string;
}
のように解釈されるのならありえる話っぽい
本当は(..args: Parameters<F1> | Parameters<F2>)=>ReturnType<F1> & ReturnType<F2>にならないといけない気がする