コンテンツにスキップ

JavaScript/Object/getPrototypeOf

出典: フリー教科書『ウィキブックス(Wikibooks)』

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 の場合

[編集]

プロトタイプが 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

関連項目

[編集]

外部リンク

[編集]