◆ Node->Object
◆ メソッドは Node.prototype にある

IE でだけエラーが出ていて コードをみても新しい機能なんて使ってないはずなのに と思って徐々にコードを削っていてどこがおかしいかを探していると なんて EventTarget が IE にはありませんでした

え ないの!??

ちゃんとバージョンが 11 になってることは確認済みです
けっこう昔からあったようなクラスで 11 なら当たり前のようにあると思ってたのですけど

MDN に確認にいってみると 9 から対応となってました
なのになんでないの?
念のため英語版にいくと基本サポートは 9 からで constructor は 11 でも非対応でした
わかりづらいですね……

EventTarget.prototype を拡張するものもなんどか作っていたはずなのに気づきませんでした
ということは IE は動いてなかったのかな

あとついでに IE のデバッガでエラー行数を教えてくれたりくれなかったりするのどうにかならないのでしょうか
いまどきコードを徐々に削ってエラー箇所を探すなんてするとは思いませんでしたよ
(そういえば C# でも IL での行数?だけでソースコードの行数を教えてくれなかったのを思い出しました)

継承

EventTarget がない代わりに Node の先が Object になっていて addEventListener は Node のプロトタイプに実装されていました

window.EventTarget
// undefined
// (Chrome: ƒ EventTarget() { [native code] })

Object.prototype.toString.call(Node.prototype.__proto__)
// "[object Object]"
// (Chrome: "[object EventTarget]")

Node.prototype.hasOwnProperty("addEventListener")
// true
// (Chrome: false)