2017-03-24 11 views
-2

私はこれを理解するのを助けることができる誰かがjavascriptコードのこのpeiceを理解できません。var some = [] ['forEach'] ['constructor'];

var some = []['forEach']['constructor']; 
+0

ブラケット表記を使用しています。 – Li357

+0

[Array#forEach']のコンストラクタを取得します(https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach) –

答えて

1

それは基本的にArray.prototype.forEach.constructorと同じであるものを[].forEach.constructorと同じです。ここで

0

はそれを打破する方法は次のとおりです。

[]['forEach']['constructor']; 
 

 
// Convert bracket property access notation to dot notation 
 
[].forEach.constructor; 
 

 
// `forEach` is a property of Array.prototype 
 
Array.prototype.forEach.constructor; 
 

 
// `forEach` is a function reference with a 
 
// `constructor` property, due to `Function.prototype` 
 
Function.prototype.constructor; 
 

 
// `Constructor.prototype.constructor === Constructor`, generally 
 
Function; 
 

 

 
console.log(
 
    []['forEach']['constructor'] === Function //=> true 
 
);

このコードは有用であろう、なぜあなたが求めている場合は、私はかなりよく分かりません。おそらく難読化。

関連する問題