Object.getPrototypeOf() メソッドは、指定されたオブジェクトのプロトタイプ (つまり、内部プロパティ [[Prototype]] の値) を返します。

構文

Object.getPrototypeOf(obj)

引数

obj)
プロトタイプを取得したいオブジェクト。

返値

指定されたオブジェクトのプロトタイプです。何も継承していないオブジェクトの場合は null です。

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)

仕様書

仕様書 状態 備考
ECMAScript 5.1 (ECMA-262)
Object.getPrototypeOf の定義
標準 初回定義
ECMAScript 2015 (6th Edition, ECMA-262)
Object.getPrototypeOf の定義
標準  
ECMAScript Latest Draft (ECMA-262)
Object.getPrototypeOf の定義
ドラフト  

ブラウザーの対応

Update compatibility data on GitHub
デスクトップモバイルサーバー
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeEdge MobileAndroid 版 FirefoxAndroid 版 OperaiOS 版 SafariSamsung InternetNode.js
基本対応Chrome 完全対応 5Edge 完全対応 ありFirefox 完全対応 3.5IE 完全対応 9Opera 完全対応 12.1Safari 完全対応 5WebView Android 完全対応 ありChrome Android 完全対応 ありEdge Mobile 完全対応 ありFirefox Android 完全対応 4Opera Android 完全対応 ありSafari iOS 完全対応 ありSamsung Internet Android 完全対応 ありnodejs 完全対応 あり

凡例

完全対応  
完全対応

Opera 固有のメモ

古いバージョンの Opera は Object.getPrototypeOf() に対応していませんが、 Opera 10.50 以降で標準外の __proto__ に対応しています。

関連情報

ドキュメントのタグと貢献者

このページの貢献者: mfuji09, segayuu, woodmix, lv7777, teoli, ethertank, Potappo
最終更新者: mfuji09,