window.addEventListener('mousemove', e => { // ここで、eの型はMouseEvent型になる }); window.addEventListener('keydown', e => { // ここで、eの型はKeyboardEvent型になる });
みたいな感じでメソッドの引数の値に応じて、コールバック関数に渡される型を変えられたりする。
上記の例はIndex typesというのを使っているみたいだけど、初めて見る仕組みでちょっと感動しました。型を明示的に書けば同じ効果は得られるんですが、短くなるしこれでインテリセンスも効くのでかなり楽ができます。
文字列が未対応のものであればエラー扱いにもできるみたいでいいですね。