JavaScript

出典: フリー教科書『ウィキブックス(Wikibooks)』
移動: 案内検索
Wikipedia
ウィキペディアJavaScriptの記事があります。
蔵書

大学の教科書
自然科学: 数学 - 物理学; 古典力学 量子力学 - 化学; 無機化学 有機化学 - 生物学; 植物学 研究技術 - 地球科学 - 医学; 解剖学
語学: 日本語 英語 エスペラント 朝鮮語 デンマーク語 ドイツ語 フランス語 ラテン語 ルーマニア語
人文科学: 歴史学; 日本史 中国史 世界史 歴史観 - 心理学 - 哲学 - 芸術; 音楽 美術 - 文学; 古典文学 漢詩
社会科学: 法学 - 経済学 - 地理学 - 教育学; 学校教育 教育史
情報技術: 情報工学; MS-DOS/PC DOS UNIX/Linux TeX/LaTeX CGI - プログラミング; BASIC C言語 C++ D言語 HTML Java JavaScript Lisp Mizar Perl PHP Python Ruby Scheme SVG
小・中・高校の教科書
小学: 国語 算数 理科 社会
中学: 国語 社会 数学 理科 英語
高校: 国語 - 地歴 - 公民 - 数学; 公式集 - 理科; 物理 化学 地学 生物 - 外国語 - 情報
解説書・実用書・参考書
趣味 :料理本 - スポーツ - ゲーム
試験 :資格試験 - 入学試験
その他の本: 防災 - 生活と進路 - ウィキペディアの書き方 - ジョーク集

JavaScriptはプログラミングを始めたい初心者の方にもやさしいプログラミング言語です。たいていのウェブブラウザにはJavaScriptを実行するJavaScriptエンジンが内蔵されており、たいていのオペレーティングシステムにはウェブブラウザがはじめからインストールされているので、開発環境をそろえるのに特別な準備は必要ありません。

ChromeInternet ExplorerMozilla FirefoxOperaSafariなどのウェブブラウザで採用されているJavaScript (JScript) は、おおむね1999年に策定されたECMA-262第3版 (ECMAScript 3.0) に準拠しています。これはJavaScript 1.5に相当します。2009年12月に策定されたECMA-262第5版 (ECMAScript 5.0)、そして現在策定中のECMAScript Harmonyは、JavaScript 2.0の基礎になる予定です。

目次[編集]

進捗状況の凡例

00%.svg 数行の文章か目次があります。
25%.svg:本文が少しあります。
50%.svg:本文が半分ほどあります。
75%.svg: 間もなく完成します。
100 percents.svg: 一応完成しています。
  1. はじめに
    1. Hello world
  2. 基礎
    1. コメント進捗状況: 100% (2014-09-03) (2014-09-03)
    2. 数値進捗状況: 00% (2014-09-03) (2014-09-03)
    3. 文字列進捗状況: 25% (2014-09-03) (2014-09-03)
    4. 変数進捗状況: 50% (2014-09-03) (2014-09-03)
    5. 配列進捗状況: 00% (2014-09-03) (2014-09-03)
    6. 演算子進捗状況: 50% (2014-09-03) (2014-09-03)
    7. 真偽値進捗状況: 00% (2014-09-03) (2014-09-03)
    8. 制御構造進捗状況: 50% (2014-09-03) (2014-09-03)
    9. 数学関数進捗状況: 00% (2014-09-03) (2014-09-03)
    10. 関数進捗状況: 25% (2014-09-03) (2014-09-03)
    11. オブジェクト進捗状況: 00% (2014-09-03) (2014-09-03)
    12. 日付と時刻進捗状況: 00% (2014-09-03) (2014-09-03)
    13. 正規表現進捗状況: 00% (2014-09-03) (2014-09-03)
    14. 例外処理進捗状況: 00% (2014-09-03) (2014-09-03)
  3. DOM進捗状況: 00% (2014-09-03) (2014-09-03)
  4. 応用
    1. JSON進捗状況: 00% (2014-09-03) (2014-09-03)
    2. XMLHttpRequest (Ajax)進捗状況: 00% (2014-09-03) (2014-09-03)
  5. リファレンス
    1. Array - prototype
    2. Boolean - prototype
    3. Date - prototype
    4. Function - prototype
    5. Math進捗状況: 00% (2014-09-03) (2014-09-03)
    6. Number - prototype進捗状況: 00% (2014-09-03) (2014-09-03)
    7. Object - prototype
    8. RegExp - prototype
    9. String - prototype進捗状況: 00% (2014-09-03) (2014-09-03)
    10. Error - prototype
      1. EvalError
      2. RangeError
      3. ReferenceError
      4. SyntaxError
      5. TypeError
      6. URIError

はじめに[編集]

まずはソフトウェアを開発するのに必要な環境を整えることから始めましょう。プログラムを作成したり、デバッグしたり、メンテナンスしたりするのに必要なソフトウェアをプログラミングツール (programming tool) またはソフトウェア開発ツール(ソフトウェアかいはつツール、software development tool)といいます。

とはいっても、JavaScriptはたいていのウェブブラウザでサポートされているので、最低限のプログラムを作成するのに特別な準備は必要ありません。オペレーティングシステムを起動して、ウェブブラウザを起動すれば、準備は終了です。ウェブページにJavaScriptプログラムを埋め込みたい場合は、テキストエディタも用意する必要がありますが、これもたいていのオペレーティングシステムには付属しているので、特にインストールする必要はありません。

JavaScriptインタプリタ[編集]

シェルからJavaScriptコードを実行するにはJavaScriptインタプリタをインストールします。

SpiderMonkey[編集]

公式サイトはSpiderMonkey (JavaScript-C) Engineです。最新のtarballはhttp://ftp.mozilla.org/pub/mozilla.org/js/からダウンロードすることができます。ビルドに関する公式な情報はSpiderMonkey Build Documentation - MDCを参照してください。

DebianUbuntuでは、

% sudo aptitude install spidermonkey-bin

デバッガ[編集]

インターネット上にはデバッグに便利なツールが多数公開されていますので、必要に応じて使ってみるとよいでしょう。

Firebugなどの多くのデバッガやJavaScriptコンソールには、コンソールにログを残すconsole.logメソッドや、ベンチマークを開始するconsole.timeメソッド、ベンチマークを終了するconsole.timeEndメソッドなど便利なメソッドがたくさん定義されています。JavaScriptコンソールは手軽にJavaScriptコードを実行してみたい初心者の方はもちろん、中級以上のJavaScriptプログラマにとっても日々の作業に欠かせないツールです。

Hello world[編集]

JavaScriptは標準ストリームと呼ばれる入出力インタフェースを言語仕様として備えていません。そのため、K&Rに由来するHello worldプログラム("Hello, world!" という文字列を表示するだけのプログラム)の書き方は実行環境によって異なります。

ウェブブラウザ[編集]

ウェブブラウザ上のJavaScriptでは、ウェブブラウザに実装された様々なメソッドを使用してHello worldプログラムを書くことができます。

alert("Hello, world!");

alertメソッドは警告ダイアログを表示します。ウェブブラウザ上でのJavaScriptの書き方はいくつかあります。

HTMLドキュメント[編集]

HTMLドキュメントにJavaScriptのソースコードを埋め込むには、script要素を用います。

<!DOCTYPE html>
<html>
    <head>
        <title>Hello world</title>
        <script type="text/javascript">
            alert("Hello, world!");
        </script>
    </head>
    <body>
        <h1>Hello world</h1>
        <p>このウェブページは "Hello, world!" という警告ダイアログを表示します。</p>
    </body>
</html>

あるいは、HTMLドキュメントとJavaScriptのソースコードを別のファイルに分割することもできます。

  • hello.js
alert("Hello, world!");
  • hello.html
<!DOCTYPE html>
<html>
    <head>
        <title>Hello world</title>
        <script type="text/javascript" src="hello.js"></script>
    </head>
    <body>
        <h1>Hello world</h1>
        <p>このウェブページは "Hello, world!" という警告ダイアログを表示します。</p>
    </body>
</html>

script要素のtype属性に指定するMIMEタイプ(MIME type、インターネットメディアタイプ、Internet media type)は、"application/javascript" または "application/ecmascript" が標準化されていますが、後方互換のため多くの場合は "text/javascript" が用いられます。

JavaScriptコンソール[編集]

いくつかのウェブブラウザでは、JavaScriptコンソールと呼ばれるコマンドラインインタプリタを使用することができます。

console.log("Hello, world!");

javascriptスキーム[編集]

たいていのウェブブラウザはjavascriptスキームのURIをサポートしています。ウェブブラウザのアドレスバーに

javascript:alert("Hello, world!");

と入力して実行すると、JavaScriptコードを実行することができます。javascriptスキームはIANAには登録されていませんが、概要を示したドキュメントが公開されている公開非登録スキームです。

シェル[編集]

KJSRhinoSpiderMonkeyV8などのJavaScriptエンジンを単体のJavaScriptインタプリタとしてインストールすると、シェルからJavaScriptコードを実行することができます。

% kjs
JS> print("Hello, world!")
Hello, world!
JS>
% rhino
js> print("Hello, world!")
Hello, world!
js>
% smjs
js> print("Hello, world!")
Hello, world!
js>
% d8
d8> print("Hello, world!")
Hello, world!
d8>

JavaScriptは多くの場合クライアントサイドで実行されるスクリプト言語ですが、これらのJavaScriptエンジンを用いると、サーバサイドでJavaScriptを動かすこともできます。たとえば、JavaScriptでCGIプログラムを書くこともできるのですよ。

#!/usr/bin/js
print('Content-Type: text/html; charset=UTF-8');
print('');
print([
    '<!DOCTYPE html>',
    '<html>',
        '<head>',
            '<title>',
                'Example Web Page',
            '</title>',
        '</head>',
        '<body>',
            '<p>',
                'Hello, world!',
            '</p>',
        '</body>',
    '</html>'
].join(''));

過去の目次[編集]

発展編[編集]

  • リファレンス

[ECMA仕様書の日本語訳]