JSConf JP

The TC39 Graveyard: Proposals That Died So JavaScript Could Live

LTトラックAEnglish

JavaScriptは何百もの機能を世に送り出してきました。今回の講演では、その中で埋もれてしまった機能についてお話しします。

  • Object.observeはChromeに搭載された後、削除されてしまいました。

  • SIMD.jsはIntelのエンジニア、ブラウザのプロトタイプ、そして仕様書まで存在していましたが、WebAssemblyによって結局は葬り去られてしまいました。

  • Array.prototype.flattenは2007年のたった一つのライブラリを壊してしまい、インターネット上では1週間もの間、smooshに名前を変えるべきかどうか議論が交わされました。そして、それが今日私たちがflat()と書くようになった理由です。

  • パイプライン演算子は2度の書き換えを経てもなお、ステージ2のままです。

このライトニングトークでは、これらの事例と、その背後にあるパターンについて解説します。提案が却下されるのは、アイデア自体が悪いからではない、ということを強調したいと思います。メモリレイアウトの問題、古いライブラリ、たった一人のデリゲートの拒否、あるいは他の何かが先に実現してしまった、といった理由で却下されるのです。

そして、この「墓場」に眠る機能は、どれも無駄に消えたものではない、ということを皆さんにお伝えしたいと思います。すべての墓は、その場所に取って代わったより良いものを指し示している。