JS のすべての関数コンストラクターにはprototype.constructor
プロパティがあります。そして、関数の定義を保存します:
function Rabbit(value) {
this.jumps: value;
}
alert(Rabbit.prototype.constructor); // alerts exactly the definition of the Rabbit function
ここで、関数コンストラクターではなくthis
、本体に何もない単純な関数をチェックします。
function bar(val) {
alert(val);
}
alert(bar.prototype.constructor); // behavior is absolutely the same: it alerts the definition of bar
ここで、組み込みArray()
関数を確認します。
alert(Array.prototype.constructor); // in Chrome it alerts "function Array() { [native code] }"
そして今、組み込みオブジェクトの組み込み関数を確認したいと思います:
// The error is thrown in console: TypeError: Cannot read property 'constructor' of undefined
alert(Array.prototype.sort.prototype.constructor);
sort
ありませんprototype
。それはどこにある?そして、そのコンストラクターはどこにありますか?