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 julho de 2015.
O método Object.getPrototypeOf() retorna o prototype (isto é, o valor da propriedade interna [[Prototype]]) do objeto especificado.
Sintaxe
Object.getPrototypeOf(obj)
Parâmetros
obj-
O objeto cujo prototype será retornado.
Exemplos
js
var proto = {};
var obj = Object.create(proto);
Object.getPrototypeOf(obj) === proto; // true
Notas
No ES5 será lançada uma exceção TypeError se o parâmetro obj não for um objeto. No ES6, no entanto, esse valor será submetido a um Object equivalente ao seu tipo e retornado.
js
Object.getPrototypeOf("foo");
// TypeError: "foo" não é um objeto (código ES5)
Object.getPrototypeOf("foo");
// String.prototype (código ES6)
Especificações
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-object.getprototypeof> |
Compatibilidade com navegadores
Notas específicas para o Opera
Embora as versões mais antigas do Opera não suportem Object.getPrototypeOf(), ele suporta a propriedade não oficial Object.prototype.__proto__ desde de a sua versão 10.50.
Veja também
Object.prototype.isPrototypeOf()Object.setPrototypeOf()ExperimentalObject.prototype.__proto__- John Resig's post on getPrototypeOf
Reflect.getPrototypeOf()