Protótipos de Objetos do JavaScript
- Página Anterior Construtor de Objetos JS
- Próxima Página Referência de Objetos JS
Todos os objetos JavaScript herdam propriedades e métodos dos protótipos.
No capítulo anterior, aprendemos como usarConstrutor de objetos:
Instância
function Person(first, last, age, eyecolor) { this.firstName = first; this.lastName = last; this.age = age; this.eyeColor = eyecolor; } var myFather = new Person("Bill", "Gates", 62, "blue"); var myMother = new Person("Steve", "Jobs", 56, "green");
Nós já reconhecemos que vocêNão é possívelAdicionar novas propriedades ao construtor de objetos existentes:
Instância
Person.nationality = "English";
Para adicionar uma nova propriedade a um construtor, é necessário adicioná-la à função construtora:
Instância
function Person(first, last, age, eyecolor) { this.firstName = first; this.lastName = last; this.age = age; this.eyeColor = eyecolor; this.nationality = "English"; }
Herança de protótipos
Todos os objetos JavaScript herdam propriedades e métodos dos protótipos.
Os objetos Date herdam de Date.prototype. Os objetos Array herdam de Array.prototype. O objeto Person herda de Person.prototype.
Object.prototype está na parte superior da cadeia de herança de protótipos:
Os objetos Date, Array e Person herdam de Object.prototype.
Adicionar propriedades e métodos a objetos
Às vezes, você deseja adicionar novas propriedades (ou métodos) a todos os objetos existentes de um tipo dado.
Às vezes, você deseja adicionar novos atributos (ou métodos) ao construtor de objetos.
Uso prototype
Atributo
A propriedade prototype do JavaScript permite que você adicione novos atributos ao construtor de objetos:
Instância
function Person(first, last, age, eyecolor) { this.firstName = first; this.lastName = last; this.age = age; this.eyeColor = eyecolor; } Person.prototype.nationality = "English";
A propriedade prototype do JavaScript também permite que você adicione novos métodos ao construtor de objetos:
Instância
function Person(first, last, age, eyecolor) { this.firstName = first; this.lastName = last; this.age = age; this.eyeColor = eyecolor; } Person.prototype.name = function() { return this.firstName + " " + this.lastName; };
Por favor, modifique apenasSeu própriodo原型。Nunca modifique o原型 de objetos JavaScript padrão.
- Página Anterior Construtor de Objetos JS
- Próxima Página Referência de Objetos JS