1章 JavaScriptの概要 - JavaScript第5版読書メモ
まずは1章から。
JavaScriptの概要
オブジェクト指向のインタプリタ言語。
JavaScriptはPerlとかLispっぽい。でも書き方はCとかJavaっぽい。
主にブラウザ上にて動作する。インタプリタが内蔵されてるソフト(エディタ、画像編集ソフト等)でも動作する。
言語仕様は国際標準で規定されている。
JavaScriptとは何か?
JavaScriptとJavaは全然違う。元々はLiveScriptって名前だったけど、Javaが流行ってたからその流行にのっとってJavaScriptに改名しただけ。
「Live亭Script、Java亭Scriptを襲名!」みたいなもんか。でも、Java亭で芸は学んでいない。芸名が定着しちゃって直すのメンドイからそのままって感じ。細木数子に相談にしに行ったら、あっさり名前が変わっちゃうかもしれないってくらいJavaって名称に愛着はないと思われる。
名前の由来についてはWikipediaのJavaScriptに載ってた。誕生って項目。
本名はECMAScript(イクマスクリプト、もしくはエクマスクリプトと読む)らしい。
JavaScriptが簡単ってのは語弊があって、普通に難しい。でも、とっつきやすいし、確かに他の言語に比べれば簡単なのかもしれない。
JavaScriptのさまざまなバージョン
ECMAScriptとして標準化されている。FlashのActionScriptや、MicrosoftのJScript.NETもそれに従っている。
ちなみにIE上で動くECMAScriptはJavaScriptではなく、JScript。
クライアントサイドJavaScript
クライアントサイドJavaScriptとはJavaScriptインタプリタを、ブラウザに組み込んだもの。
クライアントサイドJavaScript ≒ ECMAScript + DOM
IEはDOMの仕様を公式にはサポートしてない。IE氏ねという声が聞こえる所以。確かにサポートするかしないかは自由だろうけど、戦うべき戦場を吐き違えてる気がする。標準に則った上で、性能や機能で戦えばいいのに。とは言いつつも、IEの暴走でJavaScriptが進化したことがあるのも事実。
クライアントサイド以外のJavaScript
MicrosoftのIISでもJavaScript(JScript)が動く。さらに、ブラウザ以外でもインタプリタを内蔵しているソフト上で、JavaScriptは動く。Photoshopの自動化処理に使ったり、EmEditorとか萌ディタ等のマクロの記述ができたりする。
あと、ブラウザ上で動くとは言え、ある意味Googleが提供するGoogle Maps等もそのひとつと捉えてもいいかも。Google Gearsはオフラインでも動く。
純粋なサーバーサイドJavaScriptもあるよう。語弊はあると思うけど、JavaScriptでCGIを書くってイメージ。DreamweaverっぽいIDEを出してる、AptanaのJaxerはJavaScriptをサーバーサイドで実行できるWebサーバー。
サーバーサイドのJavaScriptが実現すると、今フロントエンドエンジニアでバリバリやってる人はますます活躍の場が広がりそう。
JavaScriptの学習方法
FireBugについてはid:HolyGrailさんの以下の記事が参考になる。
とりあえずはHTMLの調査の方法と、エラーの確認方法と、コンソールの使い方を覚えればOKだと思う。