Object.prototype

La propietat Object.prototype representa el prototipus per a Object.

Property attributes of Object.prototype
Writable no
Enumerable no
Configurable no

Descripció

A JavaScript, tots els objectes hereten de Object; tots els objectes hereten els mètodes i propietats de Object.prototype, tot i que es poden sobreescriure (excepte un Object amb prototipus null, és a dir, Object.create(null)). Per exemple, altres prototipus de constructors sobreescriuen la propietat constructor i ofereixen els seus propis mètodes toString() (en-US). Els canvis al prototipus Object es propaguen a tots els objectes a no ser que les propietats i mètodes que reben aquests canvis hagin sigut sobreescrites més avall a la cadena de prototipus.

Propietats

Object.prototype.constructor (en-US)
Especifica la funció que ha creat el prototipus de l'objecte.
Object.prototype.__proto__ (en-US) This API has not been standardized.
Referencia l'objecte utilitzat com a prototipus quan aquest objecte va ser instanciat.
Object.prototype.__noSuchMethod__ This API has not been standardized.
Permet definir una funció que serà executada quan es cridi com mètode un membre no definit.
Object.prototype.__count__ This is an obsolete API and is no longer guaranteed to work.
Retornava el nombre de propietats enumerables que hi hagués a un objecte definit per l'usuari. S'ha eliminat.
Object.prototype.__parent__ This is an obsolete API and is no longer guaranteed to work.
Referenciava el context d'un objecte. S'ha eliminat.

Mètodes

Object.prototype.__defineGetter__() (en-US) This API has not been standardized. This deprecated API should no longer be used, but will probably still work.
Associa una funció a una propietat que, quan s'accedeix, executa aquesta funció i retorna el seu valor.
Object.prototype.__defineSetter__() (en-US) This API has not been standardized. This deprecated API should no longer be used, but will probably still work.
Associa una funció a una propietat que, quan s'assigna, executa aquesta funció que modifica la propietat.
Object.prototype.__lookupGetter__() (en-US) This API has not been standardized. This deprecated API should no longer be used, but will probably still work.
Retorna una funció associada a la propietat especificada pel mètode __defineGetter__ (en-US).
Object.prototype.__lookupSetter__() (en-US) This API has not been standardized. This deprecated API should no longer be used, but will probably still work.
Retorna a funció associada a la propietat especificada pel mètode __defineSetter__ (en-US).
Object.prototype.hasOwnProperty() (en-US)
Retorna un booleà que indica si l'objecte conté la propietat especificada com una propietat pròpia d'ell mateix en comptes d'heretar-la a través de la cadena de prototipus.
Object.prototype.isPrototypeOf() (en-US)
Retorna un booleà que indica si l'objecte espeicfifcat pertany a la cadena de prototipus de l'objecte sobre el que es crida aquest mètode.
Object.prototype.propertyIsEnumerable() (en-US)
Retorna un booleà que indica si està activat l'atribut intern DontEnum de l'ECMAScript.
Object.prototype.toSource() (en-US) This API has not been standardized.
Retorna un string que conté cofi font que defineix un literal d'objecte que representa l'objecte sobre el que s'executa aquest mètode; aquest valor pot utilitzar-se per a crear un nou objecte.
Object.prototype.toLocaleString() (en-US)
Crida el mètode toString() (en-US).
Object.prototype.toString() (en-US)
Retorna una representació d'aquest objecte en forma de string.
Object.prototype.unwatch() This API has not been standardized.
Esborra un watchpoint d'una propietat de l'objecte.
Object.prototype.valueOf() (en-US)
Retorna el valor primitiu de l'objecte especificat.
Object.prototype.watch() This API has not been standardized.
Afegeix un watchpoint a una propietat de l'objecte.
Object.prototype.eval() This is an obsolete API and is no longer guaranteed to work.
Evaluava un string de codi font JavaScript dins el context de l'objecte especificat. S'ha eliminat.

Exemples

Degut a que JavaScript no res semblant a subclasses d'objectes, la propietat prototype és una bona forma d'utilitzar algunes funcions que fan d'objectes com a "classe base". Per exemple:

var Person = function() {
  this.canTalk = true;
};

Person.prototype.greet = function() {
  if (this.canTalk) {
    console.log('Hi, I am ' + this.name);
  }
};

var Employee = function(name, title) {
  Person.call(this);
  this.name = name;
  this.title = title;
};

Employee.prototype = Object.create(Person.prototype);
Employee.prototype.constructor = Employee;

Employee.prototype.greet = function() {
  if (this.canTalk) {
    console.log('Hi, I am ' + this.name + ', the ' + this.title);
  }
};

var Customer = function(name) {
  Person.call(this);
  this.name = name;
};

Customer.prototype = Object.create(Person.prototype);
Customer.prototype.constructor = Customer;

var Mime = function(name) {
  Person.call(this);
  this.name = name;
  this.canTalk = false;
};

Mime.prototype = Object.create(Person.prototype);
Mime.prototype.constructor = Mime;

var bob = new Employee('Bob', 'Builder');
var joe = new Customer('Joe');
var rg = new Employee('Red Green', 'Handyman');
var mike = new Customer('Mike');
var mime = new Mime('Mime');

bob.greet();
// Hi, I am Bob, the Builder

joe.greet();
// Hi, I am Joe

rg.greet();
// Hi, I am Red Green, the Handyman

mike.greet();
// Hi, I am Mike

mime.greet();

Especificacions

Especificació Estat Comentaris
ECMAScript 1st Edition (ECMA-262) Standard Definició inicial. Implementat a JavaScript 1.0.
ECMAScript 5.1 (ECMA-262)
The definition of 'Object.prototype' in that specification.
Standard  
ECMAScript 2015 (6th Edition, ECMA-262)
The definition of 'Object.prototype' in that specification.
Standard  

Compatibilitat amb navegadors

We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help! (en-US)
Característica Chrome Firefox (Gecko) Internet Explorer Opera Safari
Suport bàsic (Yes) (Yes) (Yes) (Yes) (Yes)
Característica Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Suport bàsic (Yes) (Yes) (Yes) (Yes) (Yes) (Yes)

 Vegeu tamb√©