Object.getPrototypeOf()
Baseline
広く利用可能
この機能は広く実装されており、多くのバージョンの端末やブラウザーで動作します。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)
仕様書
| 仕様書 |
|---|
| ECMAScript® 2027 Language Specification> # sec-object.getprototypeof> |