正誤表
Eloquent JavaScript

これは本書の第2版で確認されている誤りです。第1版の正誤表については、このページをご覧ください。ここに記載されていない問題を報告する場合は、メールでお知らせください

セクションタイトルの後に数値が続く問題は、その数字で示される印刷までのバージョンまでに存在します。つまり、²の後のものについては第3版で修正されています。

序論

4ページ(言語が重要な理由¹):文「おそらく想像できるでしょう、」の「how」が重複しています。

第2章

32ページ(whileおよびdoループ²):var nameの例では、ダイアログがキャンセルされるとループが意図せず終了します。ブラウザには組み込みのグローバル変数nameがあり、その値は暗黙的に文字列に変換されるためです。

第8章

140ページ(プログラマの間違い):3段落目で「through several functions」となっているのは「through several functions」とする必要があります。

第9章

157ページ(パターンの一部を繰り返す³):ページの先頭の段落で、{,5}は正規表現で{0,5}と同等であると主張されています。これは真実ではありません(0を含める必要があります)。

159ページ(Date型¹):findDate関数が間違った月を生成します。new Dateに渡される2番目の引数はNumber(match[2]) - 1にする必要があり、このインターフェイスでは月が0から始まるという事実を補正するために1を引きます。

162ページ(バックスペース²):正規表現は[\da-f]グループの後に別の+記号を追加し、説明どおりにマッチする必要があります。表現の図にも同様に、に対応するボックスの周りに戻る矢印がありません。

第10章

185ページ(遅延ロードモジュール¹):defineのコードスニペットで、everyメソッドの2番目の使用は正しくありません。呼び出しは代わりにmyMod.onLoad.forEachにする必要があります。

第11章

192ページ(構文解析¹):サンプルのEggプログラムでは、かっこが正しく分布されていません。2行目の終わりにある閉じかっこを最後の行の終わりに移動する必要があります。

第12章

209ページ(Web²):3段落目で、「URL」のUが「Universal」を表していると主張していますが、実際には「Uniform」を表しています。

第14章

242ページ(マウスの動作¹):例では、event.whichを使用してマウスボタンの解放を検出しています。これはChromeとSafariでのみ動作します。更新されたコードコメントで、より良い方法をご覧ください。

第16章

281ページ(曲線¹):テキストではbezierCurveメソッドに言及しています。実際には、このメソッドは(例コードのように)bezierCurveToと呼ばれます。

282ページ(曲線¹):図で、円の左側と四半円の左側に線があるとされている箇所は、どちらの場合も間違いなく右側と言う必要があります。

第17章

312ページ(概要¹):コードの例ではstatusCodeプロパティを使用していますが、これは存在しません。実際には、プロパティはstatusと呼ばれています。

第18章

316ページ(フィールド²):例の最後のfileフィールドのchecked属性は何の意味も持たず、存在すべきではありません。

327ページ(概要¹):「ユーザーがフィールドを選択した場合」は「ユーザーがファイルを選択した場合」である必要があります。

第21章

377ページ(ロングポーリングのサポート³):2段落目で、changesSinceパラメーターは誤ってchangeSince(単数)と呼ばれています。

演習のヒント

409ページ(配列を逆にする):ページの下部近くにあるforループの例では、>と記載されている場所に\textgreater{}が記載されています。