本を読むノート.

931 ワード

  • typeof null='object'の原因?
  • 原理はこのように、異なる対象は下の層ではバイナリと表示されていますが、JavaScriptではバイナリの上位3桁が0であるとobjectタイプと判断されます.nullのバイナリは全0で、自然の上位3桁も0ですので、typeofを実行すると「object」に戻ります.
    このデザインは甘すぎます.
  • 文字形式(字面量)と構造形式(対象)
  •  var str = 'string';
    a.length;    // 6
    
    ここでlengthにアクセスできるのは.はエンジンが自動的に文字の量をStringオブジェクトに変換するので、属性と方法にアクセスできます.
    付加:Object、Aray、Function、RegExp(正規表現)にとっては、文字の形式や構造の形式を使っても、それらは対象であり、字面量ではない.
  • オブジェクトのキーアクセスのプロセス
  • var a = {};
    a[a] = 1;
    console.log(a);  // {[object Object]: 1}
    
    オブジェクトでは、属性名は常に文字列です.文字列以外の文字列の量は、まずオブジェクトに変換されます.ここa.toString()は「Object」に等しいです.
  • に対応する参照は、実際の値が対象の参照(ポインタ、記憶アドレス)
  • を指す.
    function func1(){};
    function func2(){};
    
    var a = func1;
    var c = func2;
    
    a === c;  // false;
    func2 = func1;  // 
    c === func2;  // false.    c.name=>"func2"  , func2.name => "func1"       
    
  • newの役割