JavaScriptが10年ぶりのバージョンアップ、ECMAScript 5th Edition
12月15日、JavaScript、正式にはECMAScriptと呼ばれる言語の仕様策定が完了したとEcma Internationalが発表しました(ECMAScriptは、JavaScriptの基となる仕様の名称です)。
今回承認されたのはECMA-262 5th edition(ECMAScript 5th Edition)と呼ばれる仕様で、いわゆるJavaScript 2.0と呼ばれるものです。12月3日にはEcma Internationalの第98回総会において承認されていました。
(追記:ECMAScript 5th EditionがJavaScript 2.0として実装されるかどうかは不明でしたので、修正します。タイトルにも「JavaScript 2.0」が含まれていたので、タイトルも合わせて変更しました。)
ECMAScriptの最新仕様は4月に最終候補が提出されており、そこからアップル、グーグル、マイクロソフト、モジラ、オペラ、ヤフーなどによるテスト実装が行われ、仕様の最終確認と相互の互換性、そして過去のバージョンとの互換性などについての確認が行われていました。
この確認作業の後、9月に最終合意された仕様が提出され、12月3日の総会で承認。今回の正式発表となったもの。今後は国際規格のISO/IECへ提出され承認される見通しです。
ブラウザ間の非互換性はなくなることが期待
これまでJavaScriptのプログラミングは、ブラウザやそのバージョンごとに微妙に異なる動作に悩まされることがありましたが、今回は主要なブラウザベンダー各社がテスト実装に参加し互換性についても検証しているため、JavaScript 2.0では非互換性に悩まされることはほとんどなくなることが期待されています。
JavaScript 2.0ECMAScript 5th Edtionでは、現状のJavaScriptと比較して大きな仕様変更は行われていません。唯一大きな機能が追加されたといえるのがJSONのサポートです。
これまでもJavaScriptではJSON形式のデータを簡単に扱うことができました(そもそもJSONはそのために作られたデータ形式でした)。ただし、JSONはデータを実行して取得するという特徴のおかげで、不正な命令がデータ中に紛れ込んでいた場合にそれが実行され、セキュリティの問題を引き起こすことが心配されていました。
JavaScript 2.0のJSONサポートは、JSONデータを実行して評価することをやめて専用のパーサが用意されるため、このセキュリティ上の心配がなくなります。
JavaScript 2.0ECMAScript 5th Editionでは言語を大胆に変更することをせず、過去との互換性を重視して設計された言語といえます。各ブラウザベンダもテスト実装を終えていることから、利用可能な環境も早々に登場しそうです。