Skip to content

Commit

Permalink
fix: 匿名関数 → 無名関数 に変更 (#1676)
Browse files Browse the repository at this point in the history
  • Loading branch information
KeisukeKudo authored Jul 7, 2023
1 parent 448f8b2 commit 615ef21
Show file tree
Hide file tree
Showing 7 changed files with 18 additions and 18 deletions.
4 changes: 2 additions & 2 deletions prh.yml
Original file line number Diff line number Diff line change
Expand Up @@ -134,8 +134,8 @@ rules:
- try/catch
- expected: バッククオート
patterns: バックティック
- expected: 匿名関数
patterns: 無名関数
- expected: 無名関数
patterns: 匿名関数
- expected: Array-like
patterns: 配列ライク
- expected: Promiseチェーン
Expand Down
2 changes: 1 addition & 1 deletion source/basic/class/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ class MyClass {
}
```

もうひとつの定義方法であるクラス式は、クラスを値として定義する方法です。 クラス式ではクラス名を省略できます。これは関数式における匿名関数と同じです
もうひとつの定義方法であるクラス式は、クラスを値として定義する方法です。 クラス式ではクラス名を省略できます。これは関数式における無名関数と同じです

{{book.console}}
```js
Expand Down
12 changes: 6 additions & 6 deletions source/basic/function-declaration/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -456,7 +456,7 @@ function 関数名() {
<!-- textlint-disable prh -->
このように関数式では、名前を持たない関数を変数に代入できます。
このような名前を持たない関数を**匿名関数**(または無名関数)と呼びます。
このような名前を持たない関数を**無名関数**(または匿名関数)と呼びます。
<!-- textlint-enable prh -->
Expand All @@ -481,7 +481,7 @@ console.log(factorial(3)); // => 6
### [ES2015] Arrow Function {#arrow-function}
関数式には`function`キーワードを使った方法以外に、Arrow Functionと呼ばれる書き方があります。
名前のとおり矢印のような`=>`(イコールと大なり記号)を使い、匿名関数を定義する構文です
名前のとおり矢印のような`=>`(イコールと大なり記号)を使い、無名関数を定義する構文です
次のように、`function`キーワードを使った関数式とよく似た書き方をします。

```js
Expand Down Expand Up @@ -519,7 +519,7 @@ const mulB = x => x * x; // 1行のみの場合はreturnとブロッ

Arrow Functionについては次のような特徴があります。

- 名前をつけることができない(常に匿名関数
- 名前をつけることができない(常に無名関数
- `this`が静的に決定できる(詳細は「[関数とスコープ][]」の章で解説します)
- `function`キーワードに比べて短く書くことができる
- `new`できない(コンストラクタ関数ではない)
Expand All @@ -531,7 +531,7 @@ Arrow Functionについては次のような特徴があります。
{{book.console}}
```js
const array = [1, 2, 3];
// 1,2,3と順番に値が渡されコールバック関数(匿名関数)が処理する
// 1,2,3と順番に値が渡されコールバック関数(無名関数)が処理する
const doubleArray = array.map(function(value) {
return value * 2; // 返した値をまとめた配列ができる
});
Expand Down Expand Up @@ -608,7 +608,7 @@ const fn = (x, y) => {

## コールバック関数 {#callback}

関数はファーストクラスであるため、その場で作った匿名関数を関数の引数(値)として渡すことができます。
関数はファーストクラスであるため、その場で作った無名関数を関数の引数(値)として渡すことができます。
引数として渡される関数のことを**コールバック関数**と呼びます。
一方、コールバック関数を引数として使う関数やメソッドのことを**高階関数**と呼びます。

Expand All @@ -635,7 +635,7 @@ array.forEach(output);
```

毎回、関数を定義してその関数をコールバック関数として渡すのは、少し手間がかかります。
そこで、関数はファーストクラスであることを利用して、コールバック関数となる匿名関数をその場で定義して渡せます
そこで、関数はファーストクラスであることを利用して、コールバック関数となる無名関数をその場で定義して渡せます

{{book.console}}
```js
Expand Down
8 changes: 4 additions & 4 deletions source/basic/function-scope/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -550,14 +550,14 @@ var hello = function(){
即時実行関数(**IIFE**, _Immediately-Invoked Function Expression_)は、
グローバルスコープの汚染を避けるために生まれたイディオムです。

次のように、匿名関数を宣言した直後に呼び出すことで、任意の処理を関数のスコープに閉じて実行できます。
関数スコープを作ることで`foo`変数は匿名関数の外側からはアクセスできません
次のように、無名関数を宣言した直後に呼び出すことで、任意の処理を関数のスコープに閉じて実行できます。
関数スコープを作ることで`foo`変数は無名関数の外側からはアクセスできません

<!-- textlint-disable eslint -->

{{book.console}}
```js
// 匿名関数を宣言 + 実行を同時に行っている
// 無名関数を宣言 + 実行を同時に行っている
(function() {
// 関数のスコープ内でfoo変数を宣言している
var foo = "foo";
Expand All @@ -568,7 +568,7 @@ console.log(typeof foo === "undefined"); // => true
```

関数を****として定義して、そのまま呼び出しています。
`function`からはじまってしまうとJavaScriptエンジンが**関数宣言**と解釈してしまうため、無害なカッコなどで囲んで**関数式**として解釈させるのが特徴的な記法です。これは次のように書いた場合と意味は同じですが、匿名関数を定義して実行するため短く書くことができ、余計な関数定義がグローバルスコープに残りません。
`function`からはじまってしまうとJavaScriptエンジンが**関数宣言**と解釈してしまうため、無害なカッコなどで囲んで**関数式**として解釈させるのが特徴的な記法です。これは次のように書いた場合と意味は同じですが、無名関数を定義して実行するため短く書くことができ、余計な関数定義がグローバルスコープに残りません。

{{book.console}}
```js
Expand Down
6 changes: 3 additions & 3 deletions source/basic/function-this/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -567,14 +567,14 @@ Prefixer.prefixArray(["a", "b", "c"]); // => TypeError: Cannot read property 'pr
```

なぜコールバック関数の中の`this``undefined`となるのかを見ていきます。
Arrayの`map`メソッドにはコールバック関数として、その場で定義した匿名関数を渡していることに注目してください
Arrayの`map`メソッドにはコールバック関数として、その場で定義した無名関数を渡していることに注目してください

<!-- textlint-disable eslint -->
<!-- doctest:disable -->
```js
// ...
prefixArray(strings) {
// 匿名関数をコールバック関数として渡している
// 無名関数をコールバック関数として渡している
return strings.map(function(str) {
return this.prefix + "-" + str;
});
Expand All @@ -589,7 +589,7 @@ Arrayの`map`メソッドにはコールバック関数として、その場で
つまり、コールバック関数として呼び出すとき、この関数にはベースオブジェクトはありません。
そのため`callback`関数の`this``undefined`となります。

先ほどの例では匿名関数をコールバック関数として直接メソッドに渡していますが、一度`callback`変数に入れてから渡しても結果は同じです。
先ほどの例では無名関数をコールバック関数として直接メソッドに渡していますが、一度`callback`変数に入れてから渡しても結果は同じです。

<!-- textlint-enable no-js-function-paren -->

Expand Down
2 changes: 1 addition & 1 deletion source/basic/loop/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -165,7 +165,7 @@ array.forEach(currentValue => {
});
```

JavaScriptでは、関数がファーストクラスであるため、その場で作った匿名関数(名前のない関数)を引数として渡せます。
JavaScriptでは、関数がファーストクラスであるため、その場で作った無名関数(名前のない関数)を引数として渡せます。

引数として渡される関数のことを**コールバック関数**と呼びます。
また、コールバック関数を引数として受け取る関数やメソッドのことを**高階関数**と呼びます。
Expand Down
2 changes: 1 addition & 1 deletion source/basic/statement-expression/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -184,7 +184,7 @@ const read = function() {

<!-- textlint-enable preset-ja-technical-writing/ja-no-weak-phrase -->

しかし、この匿名関数は****であり、この処理は変数を宣言する文の一部であることがわかります。
しかし、この無名関数は****であり、この処理は変数を宣言する文の一部であることがわかります。
つまり、次のように置き換えても同じと言えるため、末尾にセミコロンが必要となります。

```js
Expand Down

0 comments on commit 615ef21

Please sign in to comment.