Object.getPrototypeOf()
メソッドは、指定されたオブジェクトのプロトタイプ (つまり、内部プロパティ [[Prototype]]
の値) を返します。
このデモのソースファイルは GitHub リポジトリに格納されています。デモプロジェクトに協力したい場合は、 https://github.com/mdn/interactive-examples をクローンしてプルリクエストを送信してください。
構文
Object.getPrototypeOf(obj)
引数
obj
- プロトタイプを取得したいオブジェクト。
返値
指定されたオブジェクトのプロトタイプです。何も継承していないオブジェクトの場合は null
です。
例
getPrototypeOf の使用
var proto = {};
var obj = Object.create(proto);
Object.getPrototypeOf(obj) === proto; // true
オブジェクト以外の型変換
ES5 では引数 obj がオブジェクトではない場合 TypeError
が発生します。しかし ES2015 では対応する Object
に変換されてから処理されます。
Object.getPrototypeOf('foo');
// TypeError: "foo" is not an object (ES5 code)
Object.getPrototypeOf('foo');
// String.prototype (ES2015 code)
仕様書
ブラウザーの互換性
BCD tables only load in the browser
このページの互換性一覧表は構造化データから生成されています。データに協力していただけるのであれば、 https://github.com/mdn/browser-compat-data をチェックアウトしてプルリクエストを送信してください。
Opera 固有のメモ
古いバージョンの Opera は Object.getPrototypeOf()
に対応していませんが、 Opera 10.50 以降で標準外の __proto__
に対応しています。