soaraによる
2009年12月19日 10時25分の掲載
普及にどれくらいかかるだろう部門より。
普及にどれくらいかかるだろう部門より。
sekia 曰く、
Publickeyのエントリで知ったが、 ECMA-262第5版の仕様策定が完了した(ECMA Internationalの発表)。 仕様書はECMA InternationalのWebページからダウンロードできる。
1999年発行の ECMA-262第3版以来、実に10年ぶりの新規格である(第 4版は欠番)。 ECMAScriptの新規格策定においては、 Microsoft/Yahooが主導するマイナーチェンジとバグフィックスが主のECMAScript 3.1と、 Adobe/Mozilla/Opera/Googleが主導する野心的な機能拡張である ECMAScript 4の間で対立があったが、 ECMAScript Harmonyと呼ばれる統合計画によって ES3.1をベースに ES4のサブセットを取り込む形で両者が合意した経緯がある。
プレスリリースで触れられている主だった新機能は次の通り:
- アクセサプロパティ
- オブジェクトのreflective creation (反映的生成?)とイントロスペクション
- プロパティ属性のプログラム制御
- 追加的な配列操作関数
- JSONのサポート
- エラーチェックとセキュリティを拡張するstrictモード
主要ブラウザベンダの多くが策定プロセスに参加しており、早期の導入が期待できるだろう。また、本規格はファストトラック制度を用いてISO/IEC JTC 1にも提出されるとのこと。
本家でも取り上げられている。
関連ストーリー
ECMAScript 4の標準化が中止される 27 コメント
新機能: reflective creation and inspection of objects (スコア:3, 参考になる)
「イントロスペクション」は間違いではないでしょうか。プレスリリースでは対応する部分は (introspection ではなく) inspection となっています。 inspection は検査とか調査といった意味です。
ECMAScript 5 仕様書の中で inspection という言葉はイントロダクションの中にしか出てこないようですが、オブジェクトの inspection とはおそらく ECMAScript 5 で追加された Object.getPrototypeOf, Object.getOwnPropertyNames 等の関数のことを指しているのでしょう。
コメントを書く
参考:InfoQ の記事 (スコア:1)
http://www.infoq.com/jp/news/2009/12/ecmascript5 [infoq.com]
JavaScript とか詳しくないですが順当で妥当な進化っぽいですね。
コメントを書く
ActionScriptはどうなる? (スコア:1, 興味深い)
先走っちゃったActionScriptはどうするんだろう?
このまま、継続?
コメントを書く
Re:ActionScriptはどうなる? (スコア:2)
Adobe の動向を追っているわけではありませんが、まあこのまま継続でしょうね。 ECMAScript として標準化されなかったからやめるという類のことではないと思います。
僕は変数が型を持っていてコンパイル時型検査がある言語の方が好きなので、 Adobe 側の陣営に頑張ってほしかったのですけれど。
ECMAScript 5 に対応したブラウザーがまだない段階で言うことではないかもしれませんが、 ECMAScript の次の版はどうなるんでしょうね。
コメントを書く
親コメント
Re:リフレクション? (スコア:2, 参考になる)
それに関連する表現なのは確か。というかリフレクション/イントロスペクションは殆ど同じ用語です(よね?)。
ただJavaScriptって名前空間(もどき)がオブジェクトだし、プロトタイプ自身もオブジェクトなので今までもやろうと思えばいくらでもリフレクションできた訳で、今更挙げる分には何か特別のAPIでもできたのかと思って訳しあぐねました。まあ訳さなくても大体分かるよね。
# 今仕様書を簡単になめてみたけど"reflect"とか"object creation"といった単語が出てくる部分にはそれっぽい文章は見当たらず
敵がいなけりゃ言い訳も立たないなんて
コメントを書く
親コメント
通じるべき相手に通じればいい言葉 (スコア:2, 興味深い)
> 「JavaScript」ならいっぱいあるのに。
「JavaScript」で求人しておいて、
「ECMAScriptって分かります?」
「え? 何でしょうか?」
「(あぁ、こいつ素人か)」
と判別出来るメリットがあります。
求人広告で最初から「ECMAScript」と明示すると、
「JavaScript」出来ると自認してる人が「ECMAScriptとは何か?」を予習して応募するため、
この手が使えません。
コメントを書く
親コメント
Re:通じるべき相手に通じればいい言葉 (スコア:2, おもしろおかしい)
「JavaScript」で求人しておいて、
「絵熊Scriptって分かります?」
「え? 釣りですか?」
「(あぁ、こいつ2ちゃんねらか)」
コメントを書く
親コメント
ActionScript (スコア:2)
ActionScript は以前ちょっと触ってみただけで、まともにプログラムを書いたこともありませんが、知ったかぶりをして答えます。
ActionScript は ECMAScript を元にしていますが、一番目立つ違いとしては、 ActionScript 2.0 以降では変数が型を持っていてコンパイル時型検査があります。 ECMAScript 3 の次の版でこのあたりの仕様を入れるかどうか揉めた、というのはタレコミ文にも書かれている通りです。
それと、言語の違いを無視しても、使える API が違うので互換性はありません。例えば、ブラウザー用のスクリプトの中でブラウザーが持つ API (document.getElementById('...') とか) を使うように、 Flash Player 用のスクリプトでは Flash Player が持つ API (Sprite クラスとか) を使うわけです。
コメントを書く
親コメント