Object.create(NULL){}とオブジェクトの区別を作成します

オリジナルます。https://www.jianshu.com/p/43ce4d7d6151

オブジェクトを作成します。

    空のオブジェクトを作成し、次の3つの方法があります。

VAR OBJ1 = {};
VAR OBJ2 = Object.create(NULL )。
VAR OBJ3 = 新しいオブジェクト();

空のオブジェクトの区別を作成します。

    きれいな空のオブジェクトを作成するには、代わりに、残りの2種類のObject.create(null)を使用する必要があります。

   Object.create(null)を行うことによって、我々は明示的にそのプロトタイプとしてnullを指定することができます。だから、全く性質を持っていません、

所望の場合にも、コンストラクタ、のtoString、hasOwnPropertyを特性せずに、これらのキーは、hasOwnPropertyをによって決意を必要とすることなく、データ構造に使用することができます。

VAR OBJ1 = {};
VAR OBJ2 = Object.create(NULL )。
VAR OBJ3 = 新しいオブジェクト(); 

VAR CON1 = obj1.constructor。
VAR CON2 = obj2.constructor。
VAR CON3 = obj3.constructor。

console.log(CON1)。// ƒオブジェクト(){[ネイティブコード]} 
にconsole.log(CON2)。// 未定義 
にconsole.log(CON3)。// オブジェクト(){[ネイティブコード]}

例ショー

constの dirtyMap = {};
 constが Object.create =(cleanMap ヌル);
 constのキー;
 (キーdirtyMap){
   // にわたり継承プロパティを反復処理をチェックするためには避けてください。
   // 不純なオブジェクトが判断するために行われる必要がある
  のIF (dirtyMap .hasOwnProperty(キー)){    
    にconsole.log(キー + " - > " + dirtyMap [キー]); 
  } 
}

 

おすすめ

転載: www.cnblogs.com/psxiao/p/11517016.html