File tree Expand file tree Collapse file tree
01-getting-started/1-intro
02-first-steps/01-hello-world
03-code-quality/02-coding-style
08-settimeout-setinterval
10-error-handling/1-try-catch
11-async/04-promise-error-handling
13-modules/01-modules-intro
2-ui/1-document/01-browser-environment Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -45,7 +45,7 @@ JavaScript が作られたとき, 当初は別の名前を持っていました:
4545
4646モダンなJavaScriptは "安全な" プログラミング言語です。それは、メモリやCPUのような低レベルのアクセスは提供しません。なぜなら、当初はそれらを必要としないブラウザ用に作成されたものだからです。
4747
48- JavaScript の機能は、実行される環境に大きく依存します。 例えば、[ Node.JS ] ( https://wikipedia.org/wiki/Node.js ) では、JavaScriptが任意のファイルを読み書きしたりできる機能をサポートしています。
48+ JavaScript の機能は、実行される環境に大きく依存します。 例えば、[ Node.js ] ( https://wikipedia.org/wiki/Node.js ) では、JavaScriptが任意のファイルを読み書きしたりできる機能をサポートしています。
4949
5050ブラウザ内のJavaScriptは、Webページの操作、ユーザやWebサーバとのやり取りに関する様々ことを実行することができます。
5151
Original file line number Diff line number Diff line change 11# Hello, world!
22
3- このチュートリアルは、プラットフォームに依存しないJavaScriptのコアについてです。もっと先に、Node.JSや他のプラットフォームについて学びます 。
3+ このチュートリアルは、プラットフォームに依存しないJavaScriptのコアについてです。もっと先に、Node.jsや他のプラットフォームについて学びます 。
44
55しかし、私たちは今スクリプトを動かすための動作環境が必要です。ちょうどこのチュートリアルはオンラインなので、ブラウザが良い選択肢です。ここでは、ブラウザ固有のコマンド(` alert ` のような)が最小限になるようにします。
6- あなたが Node.JS のような別の環境に集中する予定の場合、ブラウザ固有の内容に時間を費やさないように。一方、ブラウザの詳細はチュートリアルの[ 次のパート] ( /ui ) で詳しく説明します。
6+ あなたが Node.js のような別の環境に集中する予定の場合、ブラウザ固有の内容に時間を費やさないように。一方、ブラウザの詳細はチュートリアルの[ 次のパート] ( /ui ) で詳しく説明します。
77
8- では最初に、どうやってWebページにScriptを付け加えるか見てみましょう。サーバサイドでは、Node.JSの場合 ` "node my.js" ` のようにコマンドと一緒に実行するだけです。
8+ では最初に、どうやってWebページにScriptを付け加えるか見てみましょう。サーバサイドでは、Node.jsの場合 ` "node my.js" ` のようにコマンドと一緒に実行するだけです。
99
1010
1111[ cut]
Original file line number Diff line number Diff line change @@ -293,8 +293,8 @@ function pow(x, n) {
293293
294294例えば、ESLint では次のようなことをします。:
295295
296- 1. [Node .JS ](https: // nodejs.org/) をインストールします。
297- 2. ` npm install -g eslint` コマンドで ESLint をインストールします(npm は Node .JS パッケージインストーラです)
296+ 1. [Node .js ](https: // nodejs.org/) をインストールします。
297+ 2. ` npm install -g eslint` コマンドで ESLint をインストールします(npm は Node .js パッケージインストーラです)
2982983. あなたのJavaScriptプロジェクト(すべてのファイルを含むフォルダ)のルートに ` .ellintrc` という名前の設定ファイルを作ります
299299
300300` .eslintrc` の例です:
Original file line number Diff line number Diff line change @@ -419,4 +419,4 @@ alert(`Loading started ${performance.now()}ms ago`);
419419// 少数点3桁以上は精度エラーで、最初の3桁だけが正しいです
420420` ` `
421421
422- Node.JS は ` microtime` モジュールや他の方法を持っています。技術的には、どのデバイスや環境でも精度をあげることができます。単に ` Date ` にはないだけです。
422+ Node.js は ` microtime` モジュールや他の方法を持っています。技術的には、どのデバイスや環境でも精度をあげることができます。単に ` Date ` にはないだけです。
Original file line number Diff line number Diff line change @@ -8,7 +8,7 @@ JavaScript が作られたとき、すべてのグローバル変数と関数を
88
99しかし、グローバルオブジェクトはまだ仕様に残っています。
1010
11- ブラウザでは、"window" 、Node.JS では "global"、 その他の環境では別の名前を持つ場合があります。
11+ ブラウザでは、"window" 、Node.js では "global"、 その他の環境では別の名前を持つ場合があります。
1212
1313それは2つのことをします:
1414
@@ -65,7 +65,7 @@ ES-2015 より以前の ECMAScript のバージョンでは、 `let/const` 変
6565
6666## "window" の利用
6767
68- Node.JSのようなサーバサイド環境では 、` global ` オブジェクトは非常に稀にしか使われません。
68+ Node.jsのようなサーバサイド環境では 、` global ` オブジェクトは非常に稀にしか使われません。
6969
7070ブラウザでは ` window ` が使われることはありますが。
7171
@@ -168,4 +168,4 @@ Node.JSのようなサーバサイド環境では、`global` オブジェクト
168168 f(); // オブジェクトなしでの呼び出し
169169 ` ` `
170170
171- 仕様によると、Node .JS のような非ブラウザも含め、このケースでの ` this` はグローバルオブジェクトである必要があります。それは古いスクリプトのための互換性です。strict モードでは、` this` は ` undefined` になります。
171+ 仕様によると、Node .js のような非ブラウザも含め、このケースでの ` this` はグローバルオブジェクトである必要があります。それは古いスクリプトのための互換性です。strict モードでは、` this` は ` undefined` になります。
Original file line number Diff line number Diff line change 77- ` setTimeout ` は指定時間経過後、一度だけ関数を実行します。
88- ` setInterval ` は各実行の間は指定した間隔で、定期的に関数を実行します。
99
10- それらのメソッドは JavaScript の仕様の一部ではありません。しかしほとんどの環境は内部スケジューラをもち、それらのメソッドを提供します。特に、これらはすべてのブラウザと Node.JS でサポートされています。
10+ それらのメソッドは JavaScript の仕様の一部ではありません。しかしほとんどの環境は内部スケジューラをもち、それらのメソッドを提供します。特に、これらはすべてのブラウザと Node.js でサポートされています。
1111
1212[ cut]
1313
@@ -100,7 +100,7 @@ clearTimeout(timerId);
100100alert (timerId); // 同じ 識別子 (キャンセル後 null にはなりません)
101101```
102102
103- ` alert ` の出力から分かるように、ブラウザではタイマー識別子は数値です。他の環境では、それは他の何かの場合があります。例えば、Node.JS だと、追加メソッドを持つタイマーオブジェクトを返します。
103+ ` alert ` の出力から分かるように、ブラウザではタイマー識別子は数値です。他の環境では、それは他の何かの場合があります。例えば、Node.js だと、追加メソッドを持つタイマーオブジェクトを返します。
104104
105105改めて、それらのメソッドのための普遍的な仕様はありませんので問題ありません。
106106
@@ -384,7 +384,7 @@ setTimeout(function run() {
384384
385385その制限は古代からあり、多くのスクリプトがそれに依存しているため、歴史的な理由から存在しています。
386386
387- サーバサイド JavaScript では、その制限は存在しません。また、Node.JS では [process.nextTick](https://nodejs.org/api/process.html) や [setImmediate](https://nodejs.org/api/timers.html) のような即時非同期ジョブをスケジュールする他の方法も存在します。従って、この概念はブラウザ固有のものです。
387+ サーバサイド JavaScript では、その制限は存在しません。また、Node.js では [process.nextTick](https://nodejs.org/api/process.html) や [setImmediate](https://nodejs.org/api/timers.html) のような即時非同期ジョブをスケジュールする他の方法も存在します。従って、この概念はブラウザ固有のものです。
388388````
389389
390390### ブラウザのレンダリングを許可する
Original file line number Diff line number Diff line change @@ -39,7 +39,7 @@ let f = user.sayHi;
3939setTimeout (f, 1000 ); // user コンテキストを失います
4040```
4141
42- ブラウザにおいて、メソッド ` setTimeout ` は少し特別です: 関数呼び出しでは ` this=window ` を設定します(Node.JS では、` this ` はタイマーオブジェクトになりますが、ここではほとんど関係ありません)。従って、` this.firstName ` は、存在しない ` window.firstName ` を取得しようとします。他の同様のケースでは、通常 ` this ` は ` undefined ` になります。
42+ ブラウザにおいて、メソッド ` setTimeout ` は少し特別です: 関数呼び出しでは ` this=window ` を設定します(Node.js では、` this ` はタイマーオブジェクトになりますが、ここではほとんど関係ありません)。従って、` this.firstName ` は、存在しない ` window.firstName ` を取得しようとします。他の同様のケースでは、通常 ` this ` は ` undefined ` になります。
4343
4444このタスクは非常に典型的です -- オブジェクトメソッドをどこか別の場所(ここではスケジューラに渡して)から呼び出したい場合です。それが適切なコンテキストで呼び出されることはどのように確認すればよいでしょう?
4545
Original file line number Diff line number Diff line change @@ -578,7 +578,7 @@ function func() {
578578
579579そのような出来事に反応する方法はありますか? エラーをログに記録したり、ユーザーに何かを見せたり(通常はエラーメッセージが表示されません)。
580580
581- 仕様ではそのようなものはありませんが、通常、環境がそれを提供しています。なぜなら本当に有用だからです。例えば、Node .JS はそのために [process .on (' uncaughtException' )](https: // nodejs.org/api/process.html#process_event_uncaughtexception)を持っています。
581+ 仕様ではそのようなものはありませんが、通常、環境がそれを提供しています。なぜなら本当に有用だからです。例えば、Node .js はそのために [process .on (' uncaughtException' )](https: // nodejs.org/api/process.html#process_event_uncaughtexception)を持っています。
582582また、ブラウザでは関数を特別な [window .onerror ](mdn: api/ GlobalEventHandlers / onerror) プロパティに代入することができます。それはキャッチしていないエラーの場合に実行されます。
583583
584584構文:
Original file line number Diff line number Diff line change @@ -296,7 +296,7 @@ new Promise(function() {
296296
297297通常、このようなエラーはリカバリ不可なので、最善の方法はユーザにその問題を知らせ、サーバへそのインシデントについて報告することです。
298298
299- Node.JSのようなブラウザ以外の環境では 、未処理のエラーを追跡する他の同様の方法があります。
299+ Node.jsのようなブラウザ以外の環境では 、未処理のエラーを追跡する他の同様の方法があります。
300300
301301## サマリ
302302
Original file line number Diff line number Diff line change 1111例えば:
1212
1313- [ AMD] ( https://en.wikipedia.org/wiki/Asynchronous_module_definition ) -- 最も古いモジュールシステムの1つで、最初はライブラリ[ require.js] ( http://requirejs.org/ ) で実装されました。
14- - [ CommonJS] ( http://wiki.commonjs.org/wiki/Modules/1.1 ) -- Node.JS サーバ用に作られたモジュールシステムです。
14+ - [ CommonJS] ( http://wiki.commonjs.org/wiki/Modules/1.1 ) -- Node.js サーバ用に作られたモジュールシステムです。
1515- [ UMD] ( https://github.com/umdjs/umd ) -- もう1つのモジュールシステムで、ユニバーサルなものとして提案されています。AMD と CommonJS と互換性があります。
1616
17- 今や、これらはゆっくりと歴史の一部になっていますが、依然として古いスクリプトの中で利用されています。言語レベルのモジュールシステムの標準は 2015 年に登場し、それ以来徐々に進化し、今ではすべての主要なブラウザとNode.JS でサポートされています。
17+ 今や、これらはゆっくりと歴史の一部になっていますが、依然として古いスクリプトの中で利用されています。言語レベルのモジュールシステムの標準は 2015 年に登場し、それ以来徐々に進化し、今ではすべての主要なブラウザとNode.js でサポートされています。
1818
1919## モジュールとは?
2020
You can’t perform that action at this time.
0 commit comments