スクリプト言語。 主要なウェブブラウザのほとんどにエンジンが搭載されており、HTML内にプログラムを埋め込むことでWebページに様々な機能を付加できる。 名前は似ているが Java とは関係のない言語である。 Netscape Navigator 2.0 に搭載されたことが最初。 搭載された当時は LiveScript という名前だったが、Java にあやかり、JavaScript に名前を変更した。
その後、マイクロソフトも Internet Explorer に JavaScript と互換性の高い JScript という言語を搭載。 しかしその実装に微妙な違いが多かったことから、最終的に ECMA *1 によって基本的な言語仕様が ECMAScript として標準化された。 その後はそれぞれのブラウザが ECMAScript の仕様や、これまで Netscape が実装してきた仕様に基づいて JavaScript(Internet Explorer は JScript)の実装を行っているが、いまだにブラウザによってその実装には違いがあり、コードを書く際にはその違いを吸収するコードを書かなければならない。 ただ、最近は jQuery などのブラウザ間の際を吸収するライブラリが登場してきたり、各ブラウザ間の差異が小さくなってきたことで、プログラマが差異をそれほど気にしなくてもよい環境ができつつある。
2000 年代の前半には 「JavaScript はいろいろできるが危険でブラウザ依存であまり便利ではない」 というような見方をされていたが、2000 年代後半に Google が積極的に JavaScript を利用してサービスを展開したことや、Ajax と呼ばれる技術が注目され始めたことで、現在では web には必須の技術となっている。
簡単なものでURL入力で「javascript:」の先に以下の文を入力するとさまざまなことができる。
ウィンドウを閉じる(確認ウィンドウが表示する)。
一つ前に戻る。-1のところを-2以上にすればその分戻る。
表示しているページを更新する。
印刷ウィンドウを表示する。
文を警告ウィンドウとして表示する。
文で確認ウィンドウを表示する(その他細かいことをしないとこのままではOKを押してもキャンセルを押しても何も起きない)。
文を入力ウィンドウで表示。テキストボックスには初期の入力状態が表示される(その他細かいことをしないとこのままでは何を入力しても何も起きない)。
複数の命令を入力するときは;(セミコロン)を利用する。
JavaScript を実行するための実行環境は様々である。 元々は web ブラウザ上で実行される言語であったが、現在では Node.js などを使ってサーバーサイドの記述にも用いられる。
JavaScript の実行環境として次のようなものがある。
*1:European Computer Manufacturer Association; 欧州電子計算機工業会