|
1 | 1 | <!-- markdownlint-disable MD010 MD029 MD032 -->
|
2 | 2 | # 『りあクト! TypeScriptで始めるつらくないReact開発 第3版』の正誤表
|
3 | 3 |
|
4 |
| -最終更新日: 2021 年 2 月 2 日 |
| 4 | +最終更新日: 2021 年 2 月 13 日 |
5 | 5 |
|
6 | 6 | - 正誤表の内容は随時アップデートされます。
|
7 | 7 | - 誤りが判明した部分は、電子版については随時修正が反映された新しいバージョンが配信されます。購入先のサイトをご確認ください。なお現次点での最新版は以下の通りです。
|
8 |
| - - 【Ⅰ. 言語・環境編】バージョン 1.1.1(2021-01-27) |
9 |
| - - 【Ⅱ. React 基礎編】バージョン 1.2.0(2021-01-20) |
10 |
| - - 【Ⅲ. React 応用編】バージョン 1.1.1(2021-02-02) |
| 8 | + - 【Ⅰ. 言語・環境編】バージョン 1.2.0(2021-02-13) |
| 9 | + - 【Ⅱ. React 基礎編】バージョン 1.2.1(2021-02-13) |
| 10 | + - 【Ⅲ. React 応用編】バージョン 1.1.3(2021-02-13) |
11 | 11 | - 本文内の各所で引用している [The State of JavaScript](https://stateofjs.com/) の調査結果およびその説明を、電子版では 2019 から 2020 のものへアップデートしています(2021-01-20)
|
12 | 12 |
|
13 | 13 | <br />
|
14 | 14 |
|
15 | 15 | ### 【Ⅰ. 言語・環境編】
|
16 | 16 |
|
| 17 | +- 1-1 / p.29 |
| 18 | +該当の拡張がアップデートで別のプロダクトになっていたため差し替え |
| 19 | + |
| 20 | +```diff |
| 21 | +- •Bracket Pair Colorizer(coenraads.bracket-pair-colorizer) |
| 22 | ++ •Bracket Pair Colorizer 2(CoenraadS.bracket-pair-colorizer-2) |
| 23 | + …… マッチする括弧を色分けして教えてくれる |
| 24 | +``` |
| 25 | + |
17 | 26 | - 2-8 / p.105
|
18 | 27 |
|
19 | 28 | ```diff
|
|
23 | 32 | 「へー、へー」
|
24 | 33 | ```
|
25 | 34 |
|
| 35 | +- 3-2 / p.128-129 |
| 36 | +「3-2. コレクションの反復処理」「配列の反復処理」項にて、`sort` メソッドが破壊的であることの注意と、JavaScript で破壊的メソッドを非破壊的に運用するための方法の説明を追加 |
| 37 | + |
| 38 | +```diff |
| 39 | + 「そっか、そういう使い方もできるんですね」 |
| 40 | ++ (ここに以下の文章を追加) |
| 41 | + 「で、ここまでは必ず値を返す式だったけど、配列の反復処理には値を返さない構文もある。 |
| 42 | +``` |
| 43 | + |
| 44 | +> 「ところで JavaScript の `sort` メソッドはその結果が破壊的という性質があるので、他の処理と組み合わせる際には気をつける必要がある」 |
| 45 | +> |
| 46 | +> ``` |
| 47 | +> const arr = [12, 2, 3, 24, 5]; |
| 48 | +> console.log(arr.sort((n, m) => n < m ? -1 : 1)); // [ 2, 3, 5, 12, 24 ] |
| 49 | +> console.log(arr); // [ 2, 3, 5, 12, 24 ] |
| 50 | +> ``` |
| 51 | +> |
| 52 | +> 「えっ、これやばくないですか? それにこれ見て思いましたけど、JavaScript って破壊的メソッドと非破壊的メソッドが混在してて見分ける方法がないのひどいですね。Ruby なら破壊的メソッドには `sort!` みたいに末尾に `!` がつくのでわかりやすいのに」 |
| 53 | +> 「うん、例によって歴史的経緯でこうなっちゃってるんだろうね。どれが破壊的でどれが非破壊的なのかは、これはもう丸暗記するしかない。それで JavaScript の配列の破壊的メソッドを非破壊的に使うには裏技があって、`slice` メソッドを間にはさむといいの。`slice()` は本来、配列から任意の範囲をシャローコピーして返してくれるメソッドなんだけど、引数を省略するとその配列全体をコピーしてくれる」 |
| 54 | +> |
| 55 | +> ``` |
| 56 | +> const arr = [12, 2, 3, 24, 5]; |
| 57 | +> console.log(arr.slice().sort((n, m) => n < m ? -1 : 1)); // [ 2, 3, 5, 12, 24 ] |
| 58 | +> console.log(arr); // [ 12, 2, 3, 24, 5 ] |
| 59 | +> ``` |
| 60 | +> |
| 61 | +> 「なるほど。これならそんなに追加のコード量は増えませんし、いいですね。`sort()` を使う際には忘れないようにしないと」 |
| 62 | +> 「うん、ちょっとめんどうだけどそうしてね。 |
| 63 | +
|
26 | 64 | <br />
|
27 | 65 |
|
28 | 66 | ### 【Ⅱ. React 基礎編】
|
|
0 commit comments