JavaScript/Object/getPrototypeOf
< JavaScript | Object
Object.getPrototypeOf()
編集Object.getPrototypeOf() は、JavaScript において指定したオブジェクトのプロトタイプ(内部プロトタイプリンク)を取得するためのメソッドです。このメソッドを使用すると、オブジェクトの継承チェーンを調査することができます。
- 構文
Object.getPrototypeOf(obj)
- 引数
-
- obj プロトタイプを取得したい対象のオブジェクト。
- 戻り値
- 指定されたオブジェクト(
obj
)のプロトタイプオブジェクトが返されます。もしプロトタイプが設定されていない場合は、null
を返します。
解説
編集Object.getPrototypeOf()
は、オブジェクトのプロトタイプを取得する標準的な方法です。これにより、オブジェクトがどのオブジェクトを継承しているかを確認することができます。
注意事項
編集- ES5 以降で標準化されています。それ以前の環境ではサポートされていない場合があります。
- セキュリティ上の理由で、一部のホスト環境ではこのメソッドを使用できないことがあります。
例
編集プロトタイプを取得
編集以下の例では、Object.create()
で生成されたオブジェクトのプロトタイプを取得します。
const proto = { greet: function() { console.log("Hello!"); } }; const obj = Object.create(proto); console.log(Object.getPrototypeOf(obj) === proto); // true
プロトタイプが null
に設定されている場合、Object.getPrototypeOf()
は null
を返します。
const obj = Object.create(null); console.log(Object.getPrototypeOf(obj)); // null
クラスインスタンスのプロトタイプを確認
編集クラスで作成されたオブジェクトのプロトタイプも取得できます。
class MyClass {} const instance = new MyClass(); console.log(Object.getPrototypeOf(instance) === MyClass.prototype); // true