- ベストアンサー
JavaScriptの全言語仕様を学べる書籍は?
- JavaScriptの全ての言語仕様が分かる書籍を探しています。入門書的なものではなく、分かりやすさを求めています。
- 現在までに参考にしたページも情報が足りず、特に this の意味について理解できません。
- JavaScript言語仕様を一通り網羅した書籍の紹介をお願いします。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
this が何か、を知るには、仕様を把握しなければならない。その考えは正しいです。以下の仕様書をまず印刷してトライください。 ECMAScript Language Specification - 3rd edition http://www.ecma-international.org/publications/files/ecma-st/ECMA-262.pdf 次に this が何か? という疑問に関しては、Host Object, Global Object などのオブジェクトを学ぶ必要があります。また Host Object は実装(処理系)によって様々です。実装毎の説明は別のドキュメントをたどることになります。 (参考URLについて) Douglas Crockford's Wrrrld Wide Web の JavaScript ポータルです。仕様に関するドキュメント・リソースが充実しています。また Douglas Crockford さんは 2008/5月に、最近『JavaScript: The Good Parts』をだされました。
その他の回答 (5)
- iriyak
- ベストアンサー率48% (40/82)
質問者の書籍紹介は、ANo.4 で回答済みですが、コメントを追記します。 > JavaScriptの難しさを知るまで、甘く見てました。 > C言語が極小仕様と比較すると、JacaScriptは非常に言語仕様が大きいです。 回答者は C の仕様書を打ち出したことがなく、比較したことがありません。ただ、JavaScript の仕様を掌握するのが困難なほど大きいと思うか? と言われれば、ECMAScript 3rd Edition について言えば困難には感じませんでした。ECMAScript 3rd Edition の記述範囲について、ですが。 一方、私が最近 Code Reading を楽しんでいる jQuery, Prototype.js は、仕様や実装の掌握は大変です。高度なプログラミング技法が使用されているし、様々なプログラミング言語のよい所が導入されていて、背景事情を一緒に学びながら紐解いて、ようやく咀嚼できているような状況だからです。 『相当大きな規模のJavaScriptとWEBサーバアプリ』のソースコードにアタックされているとのこと。JavaScript は回答者の大好きなプログラミング言語で、ぜひ、この機会にものにしてもらえれば、と応援します。
- notnot
- ベストアンサー率47% (4900/10358)
JavaScriptの基本はご存じ、C++でオブジェクト指向言語の概念もご存じというようなので、「JavaScriptではオブジェクト指向をどう取り扱うのか」をまず学べば、あとは、とほほのリファレンスでかなり十分だと思います。 http://builder.japan.zdnet.com/sp/javascript-kickstart-2007/ 言語自体を骨までしゃぶるには、他の方が書かれている分厚い書籍でしょうね。 でも私はむしろ、prototype.js や jQuery.js のようなライブラリが提供する機能を学ぼうと思っていますが。
- yambejp
- ベストアンサー率51% (3827/7415)
var q= this.location.search.substring(1); ↓ var q= window.location.search.substring(1); 通常と書くことの方が多いんじゃないかなぁ。 つまりjavascritの場合ブラウザが基本ですから、 まずはブラウザがルートにあるわけで、そのグローバルオブジェクトが windowです。 なのでwindow内でthisを指定しているので、thisはwindowになります。 <script> document.write(this); </script> とすればwindowオブジェクトが返っていることがわかります。 で、「window.」は省略してよいことになっているので var q= location.search.substring(1); でいけます。 つまりは、javascriptでもthisは自分自身ですね。 メソッドの中で使われるthisはコンテナを示します <script> window.onload=function(){ document.getElementById("hoge").onclick=function(){alert(this.className)} } </script> <span id="hoge" class="fuga">hogehogehoge</span> とすれば、ここでのthisはhogeというidのオブジェクトですから、そのclassを alertするとfugaが表示されます
お礼
ご協力ありがとうございます。 Amazon.co.jpでJavaScript本の書籍を 検索してきましたが、実際に見ないと 自分の要望に合うかわからないため、 大きめの書店に出かけて探してみます。 JavaScript言語仕様が全てわかるものを探して います。
- VCAT
- ベストアンサー率20% (16/79)
tohohoが最高ですよ。 リファレンスとしてこれだけ網羅されているのは他に ありません。CやC++をご存知ならリファレンスだけで 十分なはずです。私もそっちから入りましたが十分で した。thisもC++と同じですよ。
お礼
ご協力ありがとうございます。 Amazon.co.jpでJavaScript本の書籍を 検索してきましたが、実際に見ないと 自分の要望に合うかわからないため、 大きめの書店に出かけて探してみます。 JavaScript言語仕様が全てわかるものを探して います。
- dyna_1550
- ベストアンサー率34% (122/353)
JavaScriptはオブジェクト指向ですよ。 もちろん、new演算子も使えますし、生成したインスタンスに後から メソッドを加えちゃうなんてこともできて、結構面白いですよ。 C++みたいに堅苦くないです。 thisに限らず、どんなメンバがあるのか、などを知りたいのであれば、 昔は、Netscape社のホームページを見ていましたが、最近行ってなく、 久しぶりに行ってみたら無くなってました(当然かもしれませんが・・) ちなみに、昔のリンクが一覧になってるページがありました(当然リンク切れですが) http://allabout.co.jp/internet/javascript/subject/msubsub_001011.htm 今はMozillaにいくらかあるようです。 http://developer.mozilla.org/en/docs/About_JavaScript
お礼
ご協力ありがとうございます。 Amazon.co.jpでJavaScript本の書籍を 検索してきましたが、実際に見ないと 自分の要望に合うかわからないため、 大きめの書店に出かけて探してみます。 JavaScript言語仕様が全てわかるものを探して います。
お礼
書籍のご紹介ありがとうございます。 近所の本屋さんでは閲覧できないので、 紀伊国屋書店にでも行って自分に合うかどうか見てみます。 今、扱っているコードは全体では相当大きな規模の JavaScriptとWEBサーバアプリで、不明部分をピンポイントで 調べても、あとからまた不明点が次々に沸いてくるため、 全体の仕様を把握しようとしています。 JavaScriptの難しさを知るまで、甘く見てました。 C言語が極小仕様と比較すると、 JacaScriptは非常に言語仕様が大きいです。