JavaScript/Object/getPrototypeOf
表示
< JavaScript | Object
Object.getPrototypeOf() は、指定されたオブジェクトのプロトタイプ(内部の Prototype プロパティ)を返すメソッドです。このメソッドは、オブジェクトのプロトタイプチェーンを調べるために使用されます[1]。
構文
[編集]Object.getPrototypeOf(obj)
obj: プロトタイプを取得する対象のオブジェクト。
例
[編集]オブジェクトのプロトタイプを取得するプログラム
[編集]以下のプログラムは、Object.getPrototypeOf() を使用してオブジェクトのプロトタイプを取得します。
const obj = {}; const proto = Object.getPrototypeOf(obj); console.log(proto === Object.prototype); // true
このプログラムでは、Object.getPrototypeOf() を使用して obj オブジェクトのプロトタイプを取得しています。obj のプロトタイプは Object.prototype です。
継承されたプロトタイプを取得するプログラム
[編集]以下のプログラムは、Object.getPrototypeOf() を使用して継承されたプロトタイプを取得します。
function Person(name) { this.name = name; } Person.prototype.greet = function() { console.log(`Hello, my name is ${this.name}`); }; const john = new Person('John Doe'); const proto = Object.getPrototypeOf(john); console.log(proto === Person.prototype); // true
このプログラムでは、Object.getPrototypeOf() を使用して john オブジェクトのプロトタイプを取得しています。john のプロトタイプは Person.prototype です。
注意点
[編集]- プロトタイプチェーン:
Object.getPrototypeOf()は、指定されたオブジェクトの直接のプロトタイプを返します。プロトタイプチェーンをたどるには、再帰的にこのメソッドを呼び出す必要があります。 - null: プロトタイプチェーンの終端(
Object.prototypeのプロトタイプ)はnullです。 - 非オブジェクト: 非オブジェクト(例:
nullやundefined)を指定すると、TypeErrorが発生します。
脚註
[編集]- ^ これは、オブジェクトのプロトタイプを取得するために使用されます。
外部リンク
[編集]