JavaScriptはほとんどのホームページで利用されている言語として、唯一無二の存在です。なぜならWebサイトを閲覧するブラウザ(IE・Chrome・Firefox・Safari・Operaなど)で動作するのはJavaScript以外にはないからです。歴史的にもJavaScriptほど使われている言語は存在しません。
動的でインタープリタ型の高級言語であり、オブジェクト指向・関数型言語の特徴を備えたスクリプト言語です。プログラミング言語の「Java」と名前が似ているが全く異なる仕様をしています。スクリプト言語であるため、コンパイルの作業が必要なく開発時間の短縮になります。しかしバグの発見は難しくなるため、大規模開発に使うには言語仕様をよく理解している必要と一定のルールを守ることが必要になります。
JavaScriptはLispから派生したShemeから派生したため関数型言語に必要な高階関数などの特徴を持つに至りました。
ブラウザとテキストエディタさえあれば開発を開始でき、エラーが出力されずバグがあっても動いてしまうため、初心者向けとも言われているが一概にそうとも言えず使いこなすにはしっかり理解している必要があります。
JavaScriptはよくコアとクライアントサイドとに分けて説明されることが多く、コアは言語の根幹部分を指し、様々な場所で利用することができます。Webで利用されている例ではサーバーサイド(Node.js)・GoogleChromeのV8エンジン・Googleマップなどその他にも様々なところで利用されています。一方のクライアントサイドJavaScriptはブラウザで利用されます。主に、ブラウザの制御やDOMの操作をするために利用されます。DOMとはDocument Object ModelといいHTMLやXMLを操作するAPIです。
クライアントサイドJavaScriptはHTMLやスタイルシートを操作してWebサイトに動きをつけることが主な仕事になります。スライドショー・モーダルウィンドウ・サイドバー追従・メニューの開閉・アコーディオンパネル・ローディング・画像のレイジーロードなど様々な機能をWebサイトに追加できます。
jQueryとは
jQueryとはクライアントサイドJavaScriptの問題点であった、ブラウザごとの互換性を吸収するために開発されたライブラリです。ジョン・レシグによって開発されました。
JavaScriptをベースにより簡単な記法でDOMの操作ができるようになったため、jQueryを使わないサイトは珍しいくらい普及しました。当時はブラウザ戦争と呼ばれるシェアの奪い合いがあり、ブラウザ間でクライアントサイドJavaScriptの挙動がことなり開発者は大変な苦労をしていました。
2016年ではブラウザ間の差異も少なくなり、jQuery必要性も薄れてきてはいますが、直接クライアントサイドJavaScriptを扱うより楽なため、普通のWebサイトでは今後も使われ続ける技術でしょう。
JavaScriptの正式名称とバージョン
JavaScriptとは総称のことで、正規式な商標名はECMAScriptと呼ばれます。略してES5やES2015と呼ばれます。ES2015はES5の後継です。ES2015で大幅な改善が加えられ、ES2015以降は毎年少しづつ機能が追加されてくと発表されています。最新バージョンはその年のバージョンですが、ブラウザの実装は当然ながら遅れています。