ECMAScript 3.1

3大ブラウザ、FlashGoogle が合意する形でECMAScript 3.1 (4ではない)がリリースされるようだ。FlashActionScript 3 は ECMAScript 4ベースで、ブラウザ系のECMAScript3にたいして多くの言語機能を拡張しているが、3.1はもう少し穏健なものになるとのこと。それがいいことなのかどうかはよくわからないが、確実に3よりはよい、という機能拡張になっている感じがする。

amachangがまとめている仕様とそのコメント欄での会話から、さらに自分メモ。

  • インタフェース定義方法: Getter/Setter, プロパティ・ディスクリプタ
  • プロトタイプ継承方法の拡充
  • Arrayオブジェクトのメソッド拡充: forEach, map, filter, ...
  • ブロック内に限定される変数スコープ
  • prototype.js の bind
  • JSONオブジェクト: JSONを便利に使うための
  • arguments: 引数オブジェクトが配列として扱える
  • const: 定数 = 書き換えできない変数
  • Decimal: 精度の高い数値を扱うのではないか?DBやC#のDecimalのように。
  • ObjectLiteral の最後の , が仕様に入った (列挙する時に最後に余分なカンマが入っていてもエラーにならない)

個人的には、Rubyに「いいな」と感じたところが多く取り込まれている気がします(originはきっと他にあるのだと思いますが)。LL全体の流れに沿っているということなんじゃなないかなと。

- - -

参考

次の JavaScript の仕様はこうなる! ECMAScript 3.0 から 3.1 への変更点まとめ - IT戦記

http://d.hatena.ne.jp/amachang/20080821/1219302804

JavaScript 2.0はECMAScript 3.1ベースに、ECMAScript 4は譲歩 | エンタープライズ | マイコミジャーナル

http://journal.mycom.co.jp/news/2008/08/18/027/

JavaScript++かも日記: 【仕様】JavaScriptの未来はとりあえず ECMAScript 3.1へ、でもそれってASとの分裂?

http://jsgt.org/mt/archives/01/002201.html