--- title: JavaScript slug: Web/JavaScript tags: - JavaScript - Landing - Landing page - 'l10n:priority' - 学習 translation_of: Web/JavaScript ---
{{JsSidebar}}

JavaScript (JS) は軽量で、軽量なインタープリター型、あるいは実行時コンパイルされる、{{Glossary("First-class Function", "第一級関数")}}を備えたプログラミング言語です。ウェブページでよく使用されるスクリプト言語として知られ、多くの非ブラウザー環境、例えば {{Glossary("Node.js")}} や Apache CouchDBAdobe Acrobat などでも使用されています。JavaScript は {{Glossary("Prototype-based programming", "プロトタイプベース")}} で、シングルスレッドで、動的型付けを持ち、そしてオブジェクト指向、命令形、宣言的 (例えば関数プログラミング) といったスタイルをサポートするマルチパラダイムのスクリプト言語です。詳しくは JavaScript についてをお読みください。

この章では JavaScript 言語自体について、すなわちウェブページや他のホスト環境に限定されないコアの部分に限定して解説しています。ウェブページ特有の {{Glossary("API")}} 群の情報を得たい場合は Web API と {{Glossary("DOM")}} を参照してください。

JavaScript の標準仕様は ECMAScript と呼ばれています。2012年以降、すべてのモダンブラウザーは ECMAScript 5.1 を完全にサポートしています。過去のブラウザーも、少なくとも ECMAScript 3 はサポートしています。2015 年 6 月 17 日、ECMA International は ECMAScript のメジャーバージョン 6 を策定しました。このバージョンは公式には ECMAScript 2015 と呼ばれていますが、最初は ECMAScript 6 や ES6 と呼ばれます。それ以降、ECMAScript 標準は年単位でリリースされています。このドキュメントは最新のドラフトバージョン、現在は ECMAScript 2020 を参照しています。

JavaScript をプログラミング言語 Java と混同しないでください. Java と JavaScript は両方ともアメリカやその他の国においてオラクルの商標または登録商標です。しかし、この 2 つのプログラミング言語は構文、セマンティック、利用形態が大きく異なります。

フロントエンドのウェブ開発者になりたいですか?

目標に向かって頑張るために必要な情報をまとめたコースをご用意しました。

開始する

チュートリアル

ガイドやチュートリアルを使って JavaScript をプログラムする方法を学びましょう。

完全な初心者向け

JavaScript について学びたいと思っているが、JavaScript あるいはプログラミングについて過去に経験がないのであれば、JavaScript 学習エリアに向かいましょう。次のモジュールが利用可能です。

JavaScript の第一歩
変数、文字列、数値、配列のような JavaScript の鍵となる機能の考察に加え、「JavaScript とは何か」「何に似ているか」「何ができるか」といった基本的な質問に答えます。
JavaScript の構成要素
条件分岐、ループ、関数、イベントなどのよく目にするタイプのコードブロックに注意を向けつつ、引き続き JavaScript の鍵となる基本機能について説明します。
JavaScript オブジェクトの紹介
言語に関する知識をさらに深め、より効率的なコードを書きたいのであれば、JavaScript のオブジェクト指向の性質を理解することは重要です。このため、私たちが提供するこのモジュールが役立つでしょう。
非同期 JavaScript
非同期 JavaScript について、なぜ重要なのか、どのように使用してサーバーからのリソースの読み取りなどのブロックが発生する可能性がある操作を効果的に扱うことができるのかを説明します。
クライアント側ウェブ API
API とは何か、開発作業でよく見かける、最も一般的な API の一部の使い方を説明します。

JavaScript ガイド

JavaScript ガイド
JavaScript または他のプログラミング言語の経験がある人に向けた、JavaScript 言語のより詳細なガイド。

中級者向け

クライアントサイドの JavaScript フレームワークの理解
JavaScript フレームワークは、最新のフロントエンドウェブ開発に欠かせないもので、拡張性のある双方向のウェブアプリケーションを構築するための、試行錯誤されたツールを開発者に提供します。幾つかの有名なツールについて取り扱うチュートリアルに移動する前に、クライアントサイドのフレームワークがどのように動作するのか、自分のツールセットにどのように適合させるか、についての基本的な背景知識を提供します。
JavaScript 「再」入門
JavaScript なら知ってるよ、と思っている方々に送る概説。
JavaScript のデータ構造
JavaScript で利用できるデータ構造の概覧。
等値比較と同一性
JavaScript には 3 つの異なる値の比較演算子があります: === を使う厳格な等値性比較、== を使う寛容な等値性比較、そして {{jsxref("Global_Objects/Object/is", "Object.is()")}} メソッド。
クロージャ

クロージャは「関数」と「関数が作成された環境」を組み合わせたものです。

上級者向け

継承とプロトタイプチェーン
よく誤解されたり過小評価されたりしているプロトタイプベースの継承に対する説明。
Strict モード
Strict モードは変数を初期化前に使えないようにします。これは ECMAScript 5 の厳格版で、速いパフォーマンスとより簡単なデバッグのためのものです。
JavaScript 型付き配列
JavaScript の型付き配列は未加工のバイナリーデータにアクセスするメカニズムを提供します。
メモリー管理
JavaScript におけるメモリーのライフサイクルとガベージコレクション。
同時実行モデルとイベントループ
JavaScript は「イベントループ」に基づく同時実行モデルを持っています。

リファレンス

すべてを網羅した JavaScript リファレンス ドキュメントを閲覧できます。

標準オブジェクト
{{jsxref("Array")}}, {{jsxref("Boolean")}}, {{jsxref("Date")}}, {{jsxref("Error")}}, {{jsxref("Function")}}, {{jsxref("JSON")}}, {{jsxref("Math")}}, {{jsxref("Number")}}, {{jsxref("Object")}}, {{jsxref("RegExp")}}, {{jsxref("String")}}, {{jsxref("Map")}}, {{jsxref("Set")}}, {{jsxref("WeakMap")}}, {{jsxref("WeakSet")}} などの標準ビルトインオブジェクトについて理解しましょう。
式と演算子
{{jsxref("Operators/instanceof", "instanceof")}}, {{jsxref("Operators/typeof", "typeof")}}, {{jsxref("Operators/new", "new")}}, {{jsxref("Operators/this", "this")}} といった JavaScript における演算子の挙動、そして演算子の優先順位などについて学びましょう。
文と宣言
{{jsxref("Statements/do...while", "do-while")}}, {{jsxref("Statements/for...in", "for-in")}}, {{jsxref("Statements/for...of", "for-of")}}, {{jsxref("Statements/try...catch", "try-catch")}}, {{jsxref("Statements/let", "let")}}, {{jsxref("Statements/var", "var")}}, {{jsxref("Statements/const", "const")}}, {{jsxref("Statements/if...else", "if...else")}}, {{jsxref("Statements/switch", "switch")}} などの JavaScript の文やキーワードがどのように機能するか学びましょう。
関数
アプリケーション開発において JavaScript の関数を扱う方法については、こちらをご覧ください。

ツールとリソース

JavaScript コードを書き、デバッグするのに役立つツールたち。

Firefox 開発ツール
ウェブコンソールJavaScript プロファイラデバッガーなど。
JavaScript シェル
ちょっとした JavaScript のコードを簡単にテストできる JavaScript シェル。
Learn JavaScript
ウェブ開発者志望者のための優れたリソースです。自動評価で案内される短いレッスンと双方向のテストで JavaScript を学べます。最初の 40 レッスンは無料で、全コースは少額の払い切りで提供されます。
TogetherJS
簡単にリアルタイムコラボレーションを行えるライブラリ。TogetherJS をサイトに追加することで、ユーザーがウェブサイト上でリアルタイムに助け合えるようになります。
Stack Overflow
"JavaScript" のタグが付いた Stack Overflow の質問一覧ページ
(訳注: 日本語情報となると Qiita がよいかもしれません。)
JavaScript のバージョンノートとリリースノート
JavaScript 機能の歴史と実装状況について。
JSFiddle
JavaScript、CSS、HTML を編集し、リアルタイムで実行結果を表示できるサイト。外部リソースを使い、オンライン上でチームと共同作業が行えます。
Plunker
Plunker はウェブ開発のアイデアを作成、共同作業、共有するためのオンラインコミュニティです。JavaScript や CSS、HTML ファイルを編集し、ライブでの実行結果やファイル構造を取得することができます。
JSBin

JS Bin は、オープンソースの共同ウェブ開発デバッグツールです。

Codepen

Codepen はライブの結果の実行環境を使用した、もう一つの共同開発ウェブ開発ツールです。

StackBlitz

StackBlitz はもう一つの実行・デバッグツールであり、React や Angular などを使用したアプリケーションのスタック全体をホスティングして配置することができます。