JavaScript
本書は、ウェブページやウェブアプリケーションで広く使われているスクリプト言語、JavaScriptの解説書です。 JavaScriptと、独立したアプリケーションを作成するための静的プログラミング言語であるJavaと混同しないようにして下さい。
JavaScriptは、最も広く普及しているプログラミング言語の一つです。 ウェブブラウザに搭載されているため、iOSやAndroid、Windowsでも動作します。 本書は、初めてプログラミングをする人を対象に、基本的なJavaScriptの書き方を解説しています。 JavaScriptは、初心者が学ぶのに最適なプログラミング言語です。 なぜなら、何かをダウンロードしたりインストールしたりすることなく、ブラウザだけで簡単にプログラムを作ることができるからです。 また、言語のコア部分は、国際標準化団体であるEcmaインターナショナルによってECMAScriptとして標準化され、仕様が明確になっています。
目次[編集]
- はじめに
(2021-05-19) - 文法
- 変数
(2011-05-19) - 演算子
(2017-01-26) - オブジェクト
(2021-05-19) - 文字列
(2021-05-19) - 数値
(2021-05-19) - 配列
(2021-05-19) - 制御構造
(2021-05-19) - 関数
(2021-05-19) - strictモード
- ビット演算
(2021-05-19) - 例外処理
- 正規表現
(2016-02-19) - 長整数
- 型付き配列
- Web API
- 外部ファイルの読み込み
- ※ ファイル入出力の機能は無い(詳しくは後述)
- DOM
- ライブラリ(フレームワーク)
- JSON
(2021-05-19) - XML
(2016-02-19) - リファレンス
Javaとの関連性[編集]
JavaScriptは、C言語風の構文を持つことを除けば、Javaとは何の関係もありません。 Netscape社がJavaScriptを開発し、Sun Microsystems社がJavaを開発しました。 この節の残りの部分は、プログラミングの知識があることを前提としています。読み飛ばしても構いません。
変数には、Javaではプログラムの実行中に変化しない静的な型(整数や文字列など)があり、JavaScriptではプログラムの実行中に変化しうる動的な型(数値や文字列など)があります。 変数は、Javaでは使用前に宣言されなければなりませんが、JavaScriptでは(推奨されませんが)宣言前に代入することで未宣言の変数を使い始めることができます。
Javaにはクラスと java.lang ランタイムクラスライブラリがあり、JavaScriptにはプロトタイプと基本オブジェクトがあります。
JavaScriptの応用範囲[編集]
多くのプログラミング言語とは異なり、JavaScript言語には入力や出力の概念がありません。JavaScriptは、ホスト環境でスクリプト言語として動作するように設計されており、外部とのやり取りは仕組みはホスト環境に委ねられています。最も一般的なホスト環境はブラウザですが、JavaScriptのインタープリタは、Adobe Acrobat、Node.jsなどのサーバサイド環境、オープンソースのApache CouchDBなどのNoSQLデータベース、組み込みコンピュータ、GNOMEなどの完全なデスクトップ環境など、他にも多くの応用例があります。
派生言語[編集]
TypeScript[編集]
参考文献[編集]
- Standard ECMA-262 5.1 Edition / June 2011 ECMAScript® Language Specification(注釈版)
- Standard ECMA-262 6th Edition / June 2015 ECMAScript® 2015 Language Specification
- Draft ECMA-262 ECMAScript® Language Specification
- ECMA-402 7th Edition / June 2020 ECMAScript® 2020 Internationalization API Specification
標準API[編集]
- HTML Living Standard
- DOM Living Standard
- Console Living Standard
- XMLHttpRequest Living Standard Ajax
- Fetch Living Standard
- Fullscreen API Living Standard
- Infra Living Standard
- Compatibility Living Standard
- Storage Living Standard
- Streams Living Standard
- Encoding Living Standard
- MIME Sniffing Living Standard
- Notifications API Living Standard
- URL Living Standard
- Media Session Standard