すべての配列関数を配列オブジェクトでラップしたいのですが、コンソールで
>>> Array.prototype
[]
>>> [].prototype
undefined
しかしArray.prototype
、コンソールに入力すると、すべての関数がオートコンプリートに表示されます。どうすればそれらの関数を取得できますか? 彼らはどこに隠されていますか?
すべての配列関数を配列オブジェクトでラップしたいのですが、コンソールで
>>> Array.prototype
[]
>>> [].prototype
undefined
しかしArray.prototype
、コンソールに入力すると、すべての関数がオートコンプリートに表示されます。どうすればそれらの関数を取得できますか? 彼らはどこに隠されていますか?
ということですか:
var arrObj = Object.getOwnPropertyNames(Array.prototype);
for( var funcKey in arrObj ) {
console.log(arrObj[funcKey]);
}
ECMAScript 6 (ECMAScript 2015) を使用すると、少し単純化できます。
for (let propName of Object.getOwnPropertyNames(Array.prototype)) {
console.log(Array.prototype[propName]);
}
var proto = Array.prototype;
for (var key in proto) {
if (proto.hasOwnProperty(key)) {
console.log(key + ' : ' + proto[key]);
}
}
また、コンソールでそのプロパティを確認したい場合。
使用する:console.dir(Array.prototype);
</ p>