• ベストアンサー

Javascriptの最新構文の書籍

昔、ブラウザ間の違いで互換性がなかったため、Javascriptを使わずにいましたが、最近になって使う必要が出てきたため、最新のJavascript構文や実践集などかかれた書籍を探しております。 昔、予約語になかったconstなど、今のJavascript(バージョンは何かな?)があったりと、進化していて驚きです。 PS オブジェクトにメソッドなど追加などできるのでしょうか? constで定義したものを再度上書きしてもエラーにならず値を保ったままにしている動作はそれで正しいでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

多分現在の最新バージョンはjavascript1.5 だと思いますが、 javascript1.5 の本って見掛けないですね。 Firefox が1.5対応しているので http://web.archive.org/web/20040720040340/devedge.netscape.com/library/manuals/2000/javascript/1.5/guide/ http://web.archive.org/web/20040717071001/devedge.netscape.com/library/manuals/2000/javascript/1.5/reference/ http://www.mozilla-japan.org/js/js15.html なんかが参考になると思います。 >オブジェクトにメソッドなど追加などできるのでしょうか? 1.5でなくてもできます。 >constで定義したものを再度上書きしてもエラーにならず値を保ったままにしている動作はそれで正しいでしょうか? const C10 = 10; C10=255; のような場合を仰っているのだろうと思いますが Firefox で試してみたところではエラーにはなりませんでした。 ただし、C10 は、10 で値は変化しないので、それで正しいのだろうと思います。 前述のURLの説明でもreadonly であって、const で定義した名前に再度代入しようとした時エラーになるかどうかについては書いてありません。 ただし、 const C10 = 10; var C10 = 10; のような場合はエラーになるとあって、実際エラーになります。

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • Chaire
  • ベストアンサー率60% (79/130)
回答No.2

JavaScript 1.1 を開発した Netscape は ECMA に JavaScript の標準化を要請。紆余曲折を経て 1999 年 12 月に ECMAScript 3rd Edition(ECMA-262, 3rd ed.)が発表。以後の JavaScript エンジンは、基本的にはこの標準に従っています。 http://www.ecma-international.org/publications/standards/Ecma-262.htm http://www2u.biglobe.ne.jp/%7Eoz-07ams/prog/ecma262r3/ JavaScript の開発は現在 Mozilla 開発チームが受け継いでおり、Firefox 1.5 には JavaScript 1.6,Firefox 2.0 には JavaScript 1.7 が搭載されています(Opera も部分的にサポート)。現在、ECMAScript 4th Edition および JavaScript 2.0 が草案段階です。一方、Microsoft も JScript.NET(JScript 7.0+)において、ECMA-262 に従いつつもさまざまな用途に耐えうる固有の拡張を施しています。 ですから、本当に最新の JavaScript を使いたければ JavaScript 2.0 や JScript.NET になりますが、クライアント側 JavaScript におけるブラウザの互換性が重要ならば、ECMA-262 の範囲内でコードを書くのが無難です。なお、ECMA-262 に const は存在しません。JavaScript 1.5、JScript.NET の固有の拡張です。 また、ブラウザ競争時代に最も頭を悩ませた、HTML オブジェクトをスクリプト言語で操作する仕組みの非互換性については、1998 年に W3C が DOM Level 1 という形で標準化しました。 http://www.w3.org/TR/REC-DOM-Level-1/ DOM は現在 Level 3 まで定義されており、Firefox、Opera は Level 2 全部と Level 3 の一部、Safari は Level 2 全部をだいたいサポートしています。ですから、これらのブラウザではほぼ共通のオブジェクトを使用できます。 http://www2u.biglobe.ne.jp/~oz-07ams/prog/dom-ref/object-index.html 一方、IE の DOM サポートは Level 1 にとどまり、今なお固有オブジェクトに頼らざるをえない現状があります。IE の固有オブジェクトが他ブラウザに輸入された例も少なくありませんが、なにぶん標準化されていないので動作がマチマチです。 http://msdn.microsoft.com/workshop/author/dhtml/reference/dhtml_reference_entry.asp 必要な書籍は用途によると思われますが、体系的な解説が必要なら O'Reilly の『JavaScript: The Definitive Guide, 4th Edition』をお勧めします(邦訳は第 3 版:JavaScript 1.2 までしか出ていないので注意)。DOM は XML との関係で語られることは多いものの、それ自体に関する書籍はほとんどありません(『DOM Scripting』という本が出ているようですが私は未読)。いわゆる Ajax 的なアプローチに関する参考書なら、比較的多いと思います。

すると、全ての回答が全文表示されます。

関連するQ&A