このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

View in English Always switch to English

Object.getPrototypeOf()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨2015年7月⁩.

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

試してみましょう

const prototype = {};
const object = Object.create(prototype);

console.log(Object.getPrototypeOf(object) === prototype);
// 予想される結果: true

構文

js
Object.getPrototypeOf(obj)

引数

obj

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

返値

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

getPrototypeOf の使用

js
const proto = {};
const obj = Object.create(proto);
Object.getPrototypeOf(obj) === proto; // true

オブジェクト以外の型変換

ES5 では引数 obj がオブジェクトではない場合 TypeError が発生します。しかし ES2015 では対応する Object に変換されてから処理されます。

js
Object.getPrototypeOf("foo");
// TypeError: "foo" is not an object (ES5 code)
Object.getPrototypeOf("foo");
// String.prototype                  (ES2015 code)

仕様書

Specification
ECMAScript® 2026 Language Specification
# sec-object.getprototypeof

ブラウザーの互換性

関連情報