ページ内ジャンプ:

アレゲなニュースと雑談サイト

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にも提出されるとのこと。

本家でも取り上げられている。

表示オプション しきい値:
  • オブジェクトのreflective creation (反映的生成?)とイントロスペクション

    「イントロスペクション」は間違いではないでしょうか。プレスリリースでは対応する部分は (introspection ではなく) inspection となっています。 inspection は検査とか調査といった意味です。

    ECMAScript 5 仕様書の中で inspection という言葉はイントロダクションの中にしか出てこないようですが、オブジェクトの inspection とはおそらく ECMAScript 5 で追加された Object.getPrototypeOf, Object.getOwnPropertyNames 等の関数のことを指しているのでしょう。

  • http://www.infoq.com/jp/news/2009/12/ecmascript5 [infoq.com]

    JavaScript とか詳しくないですが順当で妥当な進化っぽいですね。

  • Anonymous Coward : 2009年12月19日 20時19分 (#1691490)

    先走っちゃったActionScriptはどうするんだろう?
    このまま、継続?

    • 先走っちゃったActionScriptはどうするんだろう?
      このまま、継続?

      Adobe の動向を追っているわけではありませんが、まあこのまま継続でしょうね。 ECMAScript として標準化されなかったからやめるという類のことではないと思います。

      僕は変数が型を持っていてコンパイル時型検査がある言語の方が好きなので、 Adobe 側の陣営に頑張ってほしかったのですけれど。

      ECMAScript 5 に対応したブラウザーがまだない段階で言うことではないかもしれませんが、 ECMAScript の次の版はどうなるんでしょうね。

  • sekia (38775) : 2009年12月19日 12時18分 (#1691332)

    それに関連する表現なのは確か。というかリフレクション/イントロスペクションは殆ど同じ用語です(よね?)。
    ただJavaScriptって名前空間(もどき)がオブジェクトだし、プロトタイプ自身もオブジェクトなので今までもやろうと思えばいくらでもリフレクションできた訳で、今更挙げる分には何か特別のAPIでもできたのかと思って訳しあぐねました。まあ訳さなくても大体分かるよね。

    # 今仕様書を簡単になめてみたけど"reflect"とか"object creation"といった単語が出てくる部分にはそれっぽい文章は見当たらず

    --
    敵がいなけりゃ言い訳も立たないなんて
  • Anonymous Coward : 2009年12月19日 18時29分 (#1691460)
    > 求人広告でも「ECMAScript」を求めてる案件が見当たらない。
    > 「JavaScript」ならいっぱいあるのに。

    「JavaScript」で求人しておいて、
    「ECMAScriptって分かります?」
    「え? 何でしょうか?」
    「(あぁ、こいつ素人か)」
    と判別出来るメリットがあります。

    求人広告で最初から「ECMAScript」と明示すると、
    「JavaScript」出来ると自認してる人が「ECMAScriptとは何か?」を予習して応募するため、
    この手が使えません。
  • ActionScript は以前ちょっと触ってみただけで、まともにプログラムを書いたこともありませんが、知ったかぶりをして答えます。

    Java Scriptを標準化したのがECMAScriptで、そこから分化したのがAdobe Flashで使われているAction Scriptと理解しているけど、相互互換性とかどうなんでしょうね。環境ごとに閉じているようなイメージがある(実態は良く知らないが)。

    ActionScript は ECMAScript を元にしていますが、一番目立つ違いとしては、 ActionScript 2.0 以降では変数が型を持っていてコンパイル時型検査があります。 ECMAScript 3 の次の版でこのあたりの仕様を入れるかどうか揉めた、というのはタレコミ文にも書かれている通りです。

    それと、言語の違いを無視しても、使える API が違うので互換性はありません。例えば、ブラウザー用のスクリプトの中でブラウザーが持つ API (document.getElementById('...') とか) を使うように、 Flash Player 用のスクリプトでは Flash Player が持つ API (Sprite クラスとか) を使うわけです。

  • 4個のコメント が現在のしきい値以下です。