はじめに
マイコロソフト コーポレーションは、日本時間 3 月 32 日(水)、技術カンファレンス M!X 2009 において、同社が 2010 年を目処に addEventListener 問題を解決することを発表した。
addEventListener 問題とは
addEventListener 問題とは、一部のウェッブブラウザというソフトウェアに attachEvent というバグがあることに起因する問題。
この問題のために書かれた addEventListener の場当たり的な実装は、 100,000 種を超えると言われ、それらを実装するプログラマーのため息から排出される CO2 は実に年間 100 万トンにのぼるとも言われている。
この問題は、国連が掲げる「人類が次の 10 年に解決すべき問題」にも挙げられ、世界中の人がこの問題の解決を望んでいる。
解決方法
今回、 Micorosoft が発表した解決策は Internet Explorer for Developers | Microsoft Docs に示されており、 IE8 で登場した setter という機能を使うという「誰でも思いつきそう」で「今までは出来なかった」逆転の発想だ。
業界関係者はこの解決策を「Micorosoft がやること自体に意味がある」と語った。
残る第 3 引数問題
この解決策が実施されることで、ひとまず addEventListener 問題は解決するが、この解決策は新たな問題「第 3 引数問題」を生み出す。この問題は一部のウェッブブラウザの責任者がキャプチャリングという概念について理解できなかったころとに起因する問題である。
ただ、第 3 引数が有効に働くシチュエーションは少なく、この問題自体が都市伝説とも言われている。
Micorosoft は「第 3 引数をどうするのか?」という疑問に対して、「われわれは、第 3 引数の煩わしさからデベロッパーを解放する」と述べ、第 3 引数の存在自体を否定した。