##JavaScript概要
###javascriptとは
様々なWebブラウザで利用可能なインタプリタ型のプログラミング言語である
最近ではサーバサイドやスマーフォンアプリ開発ようなど様々な場面で利用できる非常に応用範囲の広い言語である
※インタプリタ:プログラミング言語で書かれたソースコードないし、中間表現にある命令列を逐次解釈しながら実行するプログラムのこと。
###JavaScriptの特徴
-
WebブラウザがJavaScriptをサポートしている
ブラウザでFlashを使ったコンテンツへアクセスするためには、Flashのプラグインをインストール必要があるが、JavaScriptを使うのにプラグインを使う必要はない。これはすべてのブラウザがJavaScriptをスクリプト言語として認識し、サポートしているからである。ただしブラウザごとにドキュメントオブジェクトモデル(DOM)はことなるので、そのDOMに応じたタスクをて季節に処理することが必要となる。
※DOM:HTMLやXMLの文章をアプリケーションから利用するためのAPIである。
※API;アプリケーションプログラミングインターフェースの略、ソフトウェアコンポーネントが互いにやり取りするのに使用するインターフェースの仕様である。サブルーチン、データ構造、オブジェクトクラス、変数などの仕様が含まれる。 -
クライアントサイトでもサーバーサイドでも使える
JavaScriptはブラウザのDOMにアクセスできるので、Webページを見ている最中にサイトの構造を変えることができる。そのためJavaScriptはWebページに様々な効果を加えることができる。 -
関数型プログラミング言語である
JavaScriptでは、関数を他のデータ型と同じように変数として割り当てることができる。それどころか、関数を他の関数のパラメータとして受け渡ししたり、戻り値として返すこともできる。名前のない関数を作ることもできる。つまり、関数型プログラミングの形式でコードを書けることを意味する。 -
オブジェクト指向言語である
JavaScriptは相互にメッセージを送り合うオブジェクトの集まりとしてプログラムを構成するオブジェクト指向言語である。しかし、JavaScriptでのオブジェクトの扱い方や継承の仕方がJavaのような他の伝統的なオブジェクト指向言語と少し異なる。そのため、JavaScriptは学習しやすく使いやすい一方、ほとんどのオブジェクト指向のコンセプトをサポートしている。
###JavaScriptで実現できること
- マウスオーバーによる画像の変化
- HTML要素の移動や拡大縮小、表示非表示制御
- HTMLで書かれた文字列を様々なタイミングで変更できる
- inputタグで入力された情報をもとに計算や画面上の表示を変更することができる
- サーバサイドにユーザが入力した情報をリアルタイム(非同期)に送信することができる
###JavaScriptのフレームワーク
多くのJavaScriptのフレームワークが作成され、最近は非常に簡単に効率よく開発できるようになっている。
- prototype.js
- jQuery
- suger.js
###JavaScriptの広がり
またJavaScriptは現在ブラウザ用のプログラム以外にも様々なツール利用されている。
- Adobe PhotoshopやIllustratorのマクロ
- Google App Script
- Titanium(iOS、Androidアプリ開発ツール)
- Node.js(サーバサイドミドルウェア環境)
- Adobe AIR
- Chromeアプリ