From aec22af2abb7a474299ec960b6330c93db1901e5 Mon Sep 17 00:00:00 2001 From: Masahiro FUJIMOTO Date: Wed, 4 Aug 2021 01:03:58 +0900 Subject: Web/JavaScript を更新 (#1681) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Markdown に更新 - 2021/07/23 時点の英語版に同期 --- files/ja/web/javascript/index.html | 153 ------------------------------------- files/ja/web/javascript/index.md | 116 ++++++++++++++++++++++++++++ 2 files changed, 116 insertions(+), 153 deletions(-) delete mode 100644 files/ja/web/javascript/index.html create mode 100644 files/ja/web/javascript/index.md (limited to 'files/ja/web') diff --git a/files/ja/web/javascript/index.html b/files/ja/web/javascript/index.html deleted file mode 100644 index ddd321f585..0000000000 --- a/files/ja/web/javascript/index.html +++ /dev/null @@ -1,153 +0,0 @@ ---- -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 などを使用したアプリケーションのスタック全体をホスティングして配置することができます。

-
-
-
-
diff --git a/files/ja/web/javascript/index.md b/files/ja/web/javascript/index.md new file mode 100644 index 0000000000..10019d5440 --- /dev/null +++ b/files/ja/web/javascript/index.md @@ -0,0 +1,116 @@ +--- +title: JavaScript +slug: Web/JavaScript +tags: + - JavaScript + - Landing + - Landing page + - Learn + - l10n:priority +translation_of: Web/JavaScript +--- +{{JsSidebar}} + +**JavaScript** (**JS**) は軽量で、インタープリター型、あるいは[実行時](https://ja.wikipedia.org/wiki/%E5%AE%9F%E8%A1%8C%E6%99%82%E3%82%B3%E3%83%B3%E3%83%91%E3%82%A4%E3%83%A9)コンパイルされる、{{Glossary("First-class Function", "第一級関数")}}を備えたプログラミング言語です。ウェブページでよく使用されるスクリプト言語として知られ、[多くの非ブラウザー環境](https://ja.wikipedia.org/wiki/JavaScript#その他の環境での利用)、例えば {{Glossary("Node.js")}} や [Apache CouchDB](https://couchdb.apache.org/) や [Adobe Acrobat](https://www.adobe.com/devnet/acrobat/javascript.html) などでも使用されています。 JavaScript は{{Glossary("Prototype-based programming", "プロトタイプベース")}}で、シングルスレッドで、動的型付けを持ち、そしてオブジェクト指向、命令型、宣言型 (関数プログラミングなど) といったスタイルをサポートするマルチパラダイムのスクリプト言語です。詳しくは [JavaScript について](/ja/docs/Web/JavaScript/About_JavaScript)をお読みください。 + +この章では JavaScript 言語自体について、すなわちウェブページや他のホスト環境に限定されないコアの部分に限定して解説しています。ウェブページ特有の {{Glossary("API")}} 群の情報を得たい場合は [Web API](/ja/docs/Web/API) と {{Glossary("DOM")}} を参照してください。 + +JavaScript の標準仕様は [ECMAScript Language Specification](https://tc39.es/ecma262/) および [ECMAScript Internationalization API specification](https://tc39.es/ecma402/) (ECMA-402) です。 MDN 至る所にある JavaScript のドキュメントは ECMA-262 と ECMA-402 の最新の草稿に基づいています。また、 [ECMAScript の新機能の提案](https://github.com/tc39/proposals) の一部がすでにブラウザーに実装されている場合、 MDN の記事のドキュメントや例には、その新機能の一部が使用されることがあります。 + +JavaScript を[プログラミング言語 Java] (https://ja.wikipedia.org/wiki/Java) と混同しないでください。 Java と JavaScript は両方ともアメリカやその他の国においてオラクルの商標または登録商標です。しかし、この 2 つのプログラミング言語は構文、セマンティック、利用形態が大きく異なります。 + +> **Callout:** **フロントエンドのウェブ開発者を目指している方へ** +> +> ゴールに向かって頑張るために必要な情報をまとめたコースをご用意しました。 +> +> [**始めましょう**](/ja/docs/Learn/Front-end_web_developer) + +## チュートリアル + +ガイドやチュートリアルを使って JavaScript をプログラムする方法を学びましょう。 + +### 完全な初心者向け + +JavaScript について学びたいと思っているが、JavaScript あるいはプログラミングについて過去に経験がないのであれば、 [JavaScript 学習エリアのトピック](/ja/docs/Learn/JavaScript)JavaScript 学習エリアに向かいましょう。以下のモジュールが利用可能です。 + +- [JavaScript の第一歩](/ja/docs/Learn/JavaScript/First_steps) + - : 変数、文字列、数値、配列のような JavaScript の基本機能の解説に加え、「JavaScript とは何か」「何に似ているか」「何ができるか」といった基本的な質問に答えます。 +- [JavaScript の構成要素](/ja/docs/Learn/JavaScript/Building_blocks) + - : 引き続き JavaScript の基本機能について、条件分岐、ループ、関数、イベントなどのよく目にするタイプのコードブロックに注意を向けつつ説明します。 +- [JavaScript のオブジェクトの紹介](/ja/docs/Learn/JavaScript/Objects) + - : 言語に関する知識をさらに深め、より効率的なコードを書きたいのであれば、JavaScript のオブジェクト指向の性質を理解することは重要です。このため、私たちが提供するこのモジュールが役立つでしょう。 +- [非同期 JavaScript](/ja/docs/Learn/JavaScript/Asynchronous) + - : 非同期 JavaScript について、なぜ重要なのか、どのように使用してサーバーからのリソースの読み取りなどのブロックが発生する可能性がある操作を効果的に扱うことができるのかを説明します。 +- [クライアント側ウェブ API](/ja/docs/Learn/JavaScript/Client-side_web_APIs) + - : API とは何か、開発作業でよく見かける、最も一般的な API の一部の使い方を説明します。 + +### JavaScript ガイド + +- [JavaScript ガイド](/ja/docs/Web/JavaScript/Guide) + - : JavaScript や他の言語でのプログラミング経験がある方を対象とした、より詳細な JavaScript 言語のガイドです。 + +### 中級者向け + +- [クライアント側の JavaScript フレームワークの理解](/ja/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks) + - : JavaScript フレームワークは、最新のフロントエンドウェブ開発に欠かせないもので、拡張性のある双方向のウェブアプリケーションを構築するための、試行錯誤されたツールを開発者に提供します。幾つかの有名なツールについて取り扱うチュートリアルに移動する前に、クライアントサイドのフレームワークがどのように動作するのか、自分のツールセットにどのように適合させるか、についての基本的な背景知識を提供します。 +- [JavaScript 再入門](/ja/docs/Web/JavaScript/A_re-introduction_to_JavaScript) + - : JavaScriptについて知っている*と思っている*人のための概要です。 +- [JavaScript のデータ構造](/ja/docs/Web/JavaScript/Data_structures) + - : JavaScript で利用可能なデータ構造の概要です。 +- [等値比較と同一性](/ja/docs/Web/JavaScript/Equality_comparisons_and_sameness) + - : JavaScript には 3 つの異なる値の比較演算子があります。 `===` を用いる厳格な等値性比較、 `==` を用いる緩い等値性比較、そして {{jsxref("Global_Objects/Object/is", "Object.is()")}} メソッドです。 +- [クロージャ](/ja/docs/Web/JavaScript/Closures) + - : クロージャとは、関数と、その関数が宣言された字句環境の組み合わせです。 + +### 上級者向け + +- [継承とプロトタイプチェーン](/ja/docs/Web/JavaScript/Inheritance_and_the_prototype_chain) + - : よく誤解されたり過小評価されたりしているプロトタイプベースの継承に対する説明です。 +- [Strict モード](/ja/docs/Web/JavaScript/Reference/Strict_mode) + - : Strict モードは変数を初期化前に使えないようにします。これは ECMAScript 5 の厳格版で、性能をより高めたりデバッグをより簡単にしたりするためのものです。 +- [JavaScript 型付き配列](/ja/docs/Web/JavaScript/Typed_arrays) + - : JavaScript の型付き配列は未加工のバイナリーデータにアクセスするメカニズムを提供します。 +- [メモリー管理](/ja/docs/Web/JavaScript/Memory_Management) + - : JavaScript におけるメモリーのライフサイクルとガベージコレクションです。 +- [同時実行モデルとイベントループ](/ja/docs/Web/JavaScript/EventLoop) + - : JavaScript は「イベントループ」に基づく同時実行モデルを持っています。 + +## リファレンス + +完全な [JavaScript リファレンス](/ja/docs/Web/JavaScript/Reference)ドキュメントをご覧ください。 + +- [標準オブジェクト](/ja/docs/Web/JavaScript/Reference/Global_Objects) + - : 標準組み込みオブジェクトである {{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")}} などについて理解しましょう。 +- [式と演算子](/ja/docs/Web/JavaScript/Reference/Operators) + - : JavaScript の演算子である {{jsxref("Operators/instanceof", "instanceof")}}, {{jsxref("Operators/typeof", "typeof")}}, {{jsxref("Operators/new", "new")}}, {{jsxref("Operators/this", "this")}} などの挙動、そして[演算子の優先順位](/ja/docs/Web/JavaScript/Reference/Operators/Operator_Precedence)などについて学びましょう。 +- [文と宣言](/ja/docs/Web/JavaScript/Reference/Statements) + - : {{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 の文やキーワードがどのように機能するか学びましょう。 +- [関数](/ja/docs/Web/JavaScript/Reference/Functions) + - : JavaScript の関数を使ってアプリケーションを開発する方法を学びましょう。 + +## ツールとリソース + +**JavaScript** のコードを書いたりデバッグしたりするのに役立つツールです。 + +- [Firefox 開発ツール](/ja/docs/Tools) + - : [ウェブコンソール](/ja/docs/Tools/Web_Console)、[JavaScript プロファイラー](/ja/docs/Tools/Performance)、[デバッガー](/ja/docs/Tools/Debugger)など。 +- [JavaScript シェル](/ja/docs/Web/JavaScript/Shells) + - : JavaScript シェルで、 JavaScript コードの断片をすばやくテストすることができます。 +- [Learn JavaScript](https://learnjavascript.online/) + - : ウェブ開発者を目指す方のための優れた教材です。短いレッスンとインタラクティブなテスト、自動評価によるガイドにより、インタラクティブな環境で JavaScript を学ぶことができます。最初の 40 レッスンは無料で、全コースはわずかな一回の支払いで利用できます。 +- [TogetherJS](https://togetherjs.com/) + - : コラボレーションが簡単に。あなたのサイトに TogetherJS を追加することで、ユーザーはウェブサイト上でリアルタイムに助け合うことができます。 +- [Stack Overflow](https://stackoverflow.com/questions/tagged/javascript) + - : "JavaScript" でタグ付けされた Stack Overflow の質問です。
(訳注: 日本語情報となると Qiita がよいかもしれません。) +- [JSFiddle](https://jsfiddle.net/) + - : JavaScript、CSS、HTML を編集し、リアルタイムで実行結果を表示できるサイト。外部リソースを使い、オンライン上でチームと共同作業が行えます。 +- [Plunker](https://plnkr.co/) + - : Plunker はウェブ開発のアイデアを作成、共同作業、共有するためのオンラインコミュニティです。JavaScript や CSS、HTML ファイルを編集し、ライブでの実行結果やファイル構造を取得することができます。 +- [JSBin](https://jsbin.com/) + - : JS Bin は、オープンソースの共同ウェブ開発デバッグツールです。 +- [Codepen](https://codepen.io/) + - : Codepen はライブの結果の実行環境を使用した、もう一つの共同開発ウェブ開発ツールです。 +- [StackBlitz](https://stackblitz.com/) + - : StackBlitz はもう一つの実行・デバッグツールであり、 React や Angular などを使用したアプリケーションのスタック全体をホスティングして配置することができます。 +- [RunJS](https://runjs.app/) + - : RunJS はデスクトップの遊び場/お絵描きツールで、ライブの結果を提供し、 Node と Browser の両方の API にアクセスすることができます。 -- cgit v1.2.3-54-g00ecf