Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion 1-js/01-getting-started/1-intro/article.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ JavaScript が作られたとき, 当初は別の名前を持っていました:

モダンなJavaScriptは "安全な" プログラミング言語です。それは、メモリやCPUのような低レベルのアクセスは提供しません。なぜなら、当初はそれらを必要としないブラウザ用に作成されたものだからです。

JavaScript の機能は、実行される環境に大きく依存します。 例えば、[Node.JS](https://wikipedia.org/wiki/Node.js) では、JavaScriptが任意のファイルを読み書きしたりできる機能をサポートしています。
JavaScript の機能は、実行される環境に大きく依存します。 例えば、[Node.js](https://wikipedia.org/wiki/Node.js) では、JavaScriptが任意のファイルを読み書きしたりできる機能をサポートしています。

ブラウザ内のJavaScriptは、Webページの操作、ユーザやWebサーバとのやり取りに関する様々ことを実行することができます。

Expand Down
6 changes: 3 additions & 3 deletions 1-js/02-first-steps/01-hello-world/article.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
# Hello, world!

このチュートリアルは、プラットフォームに依存しないJavaScriptのコアについてです。もっと先に、Node.JSや他のプラットフォームについて学びます
このチュートリアルは、プラットフォームに依存しないJavaScriptのコアについてです。もっと先に、Node.jsや他のプラットフォームについて学びます

しかし、私たちは今スクリプトを動かすための動作環境が必要です。ちょうどこのチュートリアルはオンラインなので、ブラウザが良い選択肢です。ここでは、ブラウザ固有のコマンド(`alert`のような)が最小限になるようにします。
あなたが Node.JS のような別の環境に集中する予定の場合、ブラウザ固有の内容に時間を費やさないように。一方、ブラウザの詳細はチュートリアルの[次のパート](/ui) で詳しく説明します。
あなたが Node.js のような別の環境に集中する予定の場合、ブラウザ固有の内容に時間を費やさないように。一方、ブラウザの詳細はチュートリアルの[次のパート](/ui) で詳しく説明します。

では最初に、どうやってWebページにScriptを付け加えるか見てみましょう。サーバサイドでは、Node.JSの場合 `"node my.js"` のようにコマンドと一緒に実行するだけです。
では最初に、どうやってWebページにScriptを付け加えるか見てみましょう。サーバサイドでは、Node.jsの場合 `"node my.js"` のようにコマンドと一緒に実行するだけです。


[cut]
Expand Down
4 changes: 2 additions & 2 deletions 1-js/03-code-quality/02-coding-style/article.md
Original file line number Diff line number Diff line change
Expand Up @@ -293,8 +293,8 @@ function pow(x, n) {

例えば、ESLint では次のようなことをします。:

1. [Node.JS](https://nodejs.org/) をインストールします。
2. `npm install -g eslint` コマンドで ESLint をインストールします(npm は Node.JS パッケージインストーラです)
1. [Node.js](https://nodejs.org/) をインストールします。
2. `npm install -g eslint` コマンドで ESLint をインストールします(npm は Node.js パッケージインストーラです)
3. あなたのJavaScriptプロジェクト(すべてのファイルを含むフォルダ)のルートに `.ellintrc` という名前の設定ファイルを作ります

`.eslintrc` の例です:
Expand Down
2 changes: 1 addition & 1 deletion 1-js/05-data-types/11-date/article.md
Original file line number Diff line number Diff line change
Expand Up @@ -419,4 +419,4 @@ alert(`Loading started ${performance.now()}ms ago`);
// 少数点3桁以上は精度エラーで、最初の3桁だけが正しいです
```

Node.JS は `microtime` モジュールや他の方法を持っています。技術的には、どのデバイスや環境でも精度をあげることができます。単に `Date` にはないだけです。
Node.js は `microtime` モジュールや他の方法を持っています。技術的には、どのデバイスや環境でも精度をあげることができます。単に `Date` にはないだけです。
6 changes: 3 additions & 3 deletions 1-js/06-advanced-functions/05-global-object/article.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ JavaScript が作られたとき、すべてのグローバル変数と関数を

しかし、グローバルオブジェクトはまだ仕様に残っています。

ブラウザでは、"window" 、Node.JS では "global"、 その他の環境では別の名前を持つ場合があります。
ブラウザでは、"window" 、Node.js では "global"、 その他の環境では別の名前を持つ場合があります。

それは2つのことをします:

Expand Down Expand Up @@ -65,7 +65,7 @@ ES-2015 より以前の ECMAScript のバージョンでは、 `let/const` 変

## "window" の利用

Node.JSのようなサーバサイド環境では、`global` オブジェクトは非常に稀にしか使われません。
Node.jsのようなサーバサイド環境では、`global` オブジェクトは非常に稀にしか使われません。

ブラウザでは `window` が使われることはありますが。

Expand Down Expand Up @@ -168,4 +168,4 @@ Node.JSのようなサーバサイド環境では、`global` オブジェクト
f(); // オブジェクトなしでの呼び出し
```

仕様によると、Node.JS のような非ブラウザも含め、このケースでの `this` はグローバルオブジェクトである必要があります。それは古いスクリプトのための互換性です。strict モードでは、`this` は `undefined` になります。
仕様によると、Node.js のような非ブラウザも含め、このケースでの `this` はグローバルオブジェクトである必要があります。それは古いスクリプトのための互換性です。strict モードでは、`this` は `undefined` になります。
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
- `setTimeout` は指定時間経過後、一度だけ関数を実行します。
- `setInterval` は各実行の間は指定した間隔で、定期的に関数を実行します。

それらのメソッドは JavaScript の仕様の一部ではありません。しかしほとんどの環境は内部スケジューラをもち、それらのメソッドを提供します。特に、これらはすべてのブラウザと Node.JS でサポートされています。
それらのメソッドは JavaScript の仕様の一部ではありません。しかしほとんどの環境は内部スケジューラをもち、それらのメソッドを提供します。特に、これらはすべてのブラウザと Node.js でサポートされています。

[cut]

Expand Down Expand Up @@ -100,7 +100,7 @@ clearTimeout(timerId);
alert(timerId); // 同じ 識別子 (キャンセル後 null にはなりません)
```

`alert` の出力から分かるように、ブラウザではタイマー識別子は数値です。他の環境では、それは他の何かの場合があります。例えば、Node.JS だと、追加メソッドを持つタイマーオブジェクトを返します。
`alert` の出力から分かるように、ブラウザではタイマー識別子は数値です。他の環境では、それは他の何かの場合があります。例えば、Node.js だと、追加メソッドを持つタイマーオブジェクトを返します。

改めて、それらのメソッドのための普遍的な仕様はありませんので問題ありません。

Expand Down Expand Up @@ -384,7 +384,7 @@ setTimeout(function run() {

その制限は古代からあり、多くのスクリプトがそれに依存しているため、歴史的な理由から存在しています。

サーバサイド JavaScript では、その制限は存在しません。また、Node.JS では [process.nextTick](https://nodejs.org/api/process.html) や [setImmediate](https://nodejs.org/api/timers.html) のような即時非同期ジョブをスケジュールする他の方法も存在します。従って、この概念はブラウザ固有のものです。
サーバサイド JavaScript では、その制限は存在しません。また、Node.js では [process.nextTick](https://nodejs.org/api/process.html) や [setImmediate](https://nodejs.org/api/timers.html) のような即時非同期ジョブをスケジュールする他の方法も存在します。従って、この概念はブラウザ固有のものです。
````

### ブラウザのレンダリングを許可する
Expand Down
2 changes: 1 addition & 1 deletion 1-js/06-advanced-functions/10-bind/article.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ let f = user.sayHi;
setTimeout(f, 1000); // user コンテキストを失います
```

ブラウザにおいて、メソッド `setTimeout` は少し特別です: 関数呼び出しでは `this=window` を設定します(Node.JS では、`this` はタイマーオブジェクトになりますが、ここではほとんど関係ありません)。従って、`this.firstName` は、存在しない `window.firstName` を取得しようとします。他の同様のケースでは、通常 `this` は `undefined` になります。
ブラウザにおいて、メソッド `setTimeout` は少し特別です: 関数呼び出しでは `this=window` を設定します(Node.js では、`this` はタイマーオブジェクトになりますが、ここではほとんど関係ありません)。従って、`this.firstName` は、存在しない `window.firstName` を取得しようとします。他の同様のケースでは、通常 `this` は `undefined` になります。

このタスクは非常に典型的です -- オブジェクトメソッドをどこか別の場所(ここではスケジューラに渡して)から呼び出したい場合です。それが適切なコンテキストで呼び出されることはどのように確認すればよいでしょう?

Expand Down
2 changes: 1 addition & 1 deletion 1-js/10-error-handling/1-try-catch/article.md
Original file line number Diff line number Diff line change
Expand Up @@ -578,7 +578,7 @@ function func() {

そのような出来事に反応する方法はありますか? エラーをログに記録したり、ユーザーに何かを見せたり(通常はエラーメッセージが表示されません)。

仕様ではそのようなものはありませんが、通常、環境がそれを提供しています。なぜなら本当に有用だからです。例えば、Node.JS はそのために [process.on('uncaughtException')](https://nodejs.org/api/process.html#process_event_uncaughtexception)を持っています。
仕様ではそのようなものはありませんが、通常、環境がそれを提供しています。なぜなら本当に有用だからです。例えば、Node.js はそのために [process.on('uncaughtException')](https://nodejs.org/api/process.html#process_event_uncaughtexception)を持っています。
また、ブラウザでは関数を特別な [window.onerror](mdn:api/GlobalEventHandlers/onerror) プロパティに代入することができます。それはキャッチしていないエラーの場合に実行されます。

構文:
Expand Down
2 changes: 1 addition & 1 deletion 1-js/11-async/04-promise-error-handling/article.md
Original file line number Diff line number Diff line change
Expand Up @@ -296,7 +296,7 @@ new Promise(function() {

通常、このようなエラーはリカバリ不可なので、最善の方法はユーザにその問題を知らせ、サーバへそのインシデントについて報告することです。

Node.JSのようなブラウザ以外の環境では、未処理のエラーを追跡する他の同様の方法があります。
Node.jsのようなブラウザ以外の環境では、未処理のエラーを追跡する他の同様の方法があります。

## サマリ

Expand Down
4 changes: 2 additions & 2 deletions 1-js/13-modules/01-modules-intro/article.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,10 @@
例えば:

- [AMD](https://en.wikipedia.org/wiki/Asynchronous_module_definition) -- 最も古いモジュールシステムの1つで、最初はライブラリ[require.js](http://requirejs.org/)で実装されました。
- [CommonJS](http://wiki.commonjs.org/wiki/Modules/1.1) -- Node.JS サーバ用に作られたモジュールシステムです。
- [CommonJS](http://wiki.commonjs.org/wiki/Modules/1.1) -- Node.js サーバ用に作られたモジュールシステムです。
- [UMD](https://github.com/umdjs/umd) -- もう1つのモジュールシステムで、ユニバーサルなものとして提案されています。AMD と CommonJS と互換性があります。

今や、これらはゆっくりと歴史の一部になっていますが、依然として古いスクリプトの中で利用されています。言語レベルのモジュールシステムの標準は 2015 年に登場し、それ以来徐々に進化し、今ではすべての主要なブラウザとNode.JS でサポートされています。
今や、これらはゆっくりと歴史の一部になっていますが、依然として古いスクリプトの中で利用されています。言語レベルのモジュールシステムの標準は 2015 年に登場し、それ以来徐々に進化し、今ではすべての主要なブラウザとNode.js でサポートされています。

## モジュールとは?

Expand Down
2 changes: 1 addition & 1 deletion 2-ui/1-document/01-browser-environment/article.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

当初、JavaScript言語は web ブラウザのために作られました。それ以降、言語は進化し、多くの用途やプラットフォームをもつ言語になりました。

ホスト環境は、言語のコアに加えてプラットフォーム固有のオブジェクトや機能を提供します。Web ブラウザは webページを制御する手段を提供します。Node.JSはサーバサイドの機能などを提供します
ホスト環境は、言語のコアに加えてプラットフォーム固有のオブジェクトや機能を提供します。Web ブラウザは webページを制御する手段を提供します。Node.jsはサーバサイドの機能などを提供します

[cut]

Expand Down