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