次のコードでは、なぜObject.getPrototypeOf(person)
機能するのだろうかと思いますが、機能しperson.getPrototypeOf(person)
ませんか? オブジェクトにそのようなプロパティやメソッドがない場合、プロトタイプチェーンを上って取得しようとし、それを呼び出します(オブジェクトのコンテキストはどこにあるかthis
など)。その場合、なる必要がありますし、あまりにも動作する必要がありますか?Animal.getName.call(this)
this
woofie
person.getPrototypeOf(person)
Object.getPrototypeOf.call(person, person)
function Person(name) {
this.name = name;
}
var person = new Person("Ang Lee")
console.log("the prototype of person is", Object.getPrototypeOf(person));
更新:getPrototypeOf
静的メソッドであるという回答については、次のことを意味しますか?
function Person(name) {
this.name = name;
this.foo = function() { ... }
}
Person.bar = function() { ... }
それfoo
は「チェーン内」であり、継承されたオブジェクトから呼び出すことができますが、そうではbar
なく、静的メソッドはどれですか?bar
getPrototypeOf