LoginSignup
3
2

More than 3 years have passed since last update.

『開眼!JavaScript』の正誤表

Last updated at Posted at 2020-01-12

開眼!JavaScript 言語仕様から学ぶJavaScriptの本質』初版第8刷を購入した。
良書(と思っていたが、ちょっと物足りなさ過ぎかも)なのだが、誤りが多い。なのに、正誤表が無い。。。
オライリー・ジャパンさん、誤りを5年も放置しないでください。

正誤表

  • 訳者まえがき
    • 8行目の「読み物の分量としてはの」は、「は」は不要。
  • 7ページ
    • 最下行から次ページにかけての「インスタンスとみなされます」は、「インスタンスといいます」のほうが分かりやすい気がする。
  • 19ページ
    • サンプルコード3行目のvar myString = null;は、複製した変数に影響しないという意図からすると、varが無いほうが伝わりやすい。
  • 19ページの訳注
    • 2行目の「([1 === '1'」は、「[」が不要か、または「]」が不足。
    • 4行目の「([1 == '1'」は、「[」が不要か、または「]」が不足。
    • 4行目の「等値演算子」は、「同値演算子」の誤り。
  • 31ページ
    • 下部のサンプルコードのJSFiddleは、なぜかJSフレームワークのMootools 1.3.2が有効になっており、それがために動かない。
  • 32ページ
    • 下から2行目の「生成されたインスタンス」は「生成されたオブジェクト」の誤り?
  • 40ページ
    • 下部のサンプルコード最下行のmyObject.0myObject.123の誤り。
  • 60ページ
    • 3.6節2行目の「プロパティチェーン」は「プロトタイプチェーン」の誤り。
  • 74ページ
    • 下から2行目の「bar()に格納」は、「barに格納」の誤り?
  • 78ページ
    • 5.2節5行目の「引数渡した」は「引数として渡した」の誤り。
  • 86ページ
    • 下から5,6行目の「プロパティ」は「メソッド」の誤り?
  • 90ページ
    • 下部のサンプルコード下から2行目と次ページ3行目のObject {foo = 'foo', bar = 'bar'}Object {foo: 'foo', bar: 'bar'}の誤り?
  • 93ページ
    • サンプルコード2行目はif文なので末尾のセミコロンは不要。
  • 96ページ
    • 7.2節のサンプルコードが不適切。ブロックスコープを持たないことを確認するなら下記のようなサンプルコードが望ましい。
var foo = 1; // グローバル変数fooの値は1

if (true) {
    var foo = 2; // グローバル変数fooの値が2に変更される
    for(var i = 3; i <= 5; i++) {
        var foo = i; // グローバル変数fooの値がiの値に変更される
        console.log(foo); // 出力:3、4、5
    }
    console.log(foo); // ブロックスコープを持たないため、2ではなく5を出力
}
console.log(foo); // ブロックスコープを持たないため、1ではなく5を出力
  • 97ページ
    • サンプルコード3行目の「グローバルスコープ」は「グローバルオブジェクト」の誤り?
  • 99ページ
    • 7.5節2行目の「スープ」は「スコープ」の誤り。
  • 103ページ
    • サンプルコード3行目のvar i;を削除して、for文の初期化式でfor (var i = 0;と宣言したほうがコードが分かりやすい。
  • 112ぺージ
    • NOTEに「prototypeプロパティの値にはオブジェクトを設定することができます。プリミティブ値を設定使用した場合、その宣言は無視されます。」とあるが、下記のようにprototypeプロパティに1を設定したところ、そのまま反映されてしまったのだが?
var myFunction = function() {}; // 関数を生成
myFunction.prototype = 1; // prototypeプロパティを追加し、1を設定
console.log(myFunction.prototype); // 空のオブジェクトではなく1が出力
  • 116ページ
    • 8.8節5行目の「foo」は「Foo」の誤り。
  • 117ページ
    • 訳注の下から3行目の「foo」は「Foo」の誤り。
  • 130ページ
    • 上部のサンプルコードの4行目の// 出力:'Object {color="blue"}'は、// 出力:'Object {color: "blue"}'の誤り?
  • 135ページ
    • サンプルコードの下から2行目の「出力:foo」は、「出力:'foo'」の誤り。

不足している内容

雑感

本書はES3について書かれている。次の版ではES5にする予定だったようだ。
ES5も終わろうとしているのに、なぜか出版されていない。
分かりやすかったから、ES5版で読みたかったのに。。。

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2