Construtor de classe JavaScript
Exemplo
Crie uma classe Car e, em seguida, crie um objeto chamado "mycar" com base na classe Car:
class Car {
constructor(brand) { // Constructor
this.carname = brand;
}
}
mycar = new Car("Ford");
Mais exemplos de "Experimente você mesmo" abaixo.
Definição e uso
O constructor()
método é um método especial para criar e inicializar objetos criados dentro de uma classe.
O constructor()
método é chamado automaticamente quando uma classe é iniciada e deve ter o nome exato "construtor", de fato, se você não tiver um método construtor, o JavaScript adicionará um método construtor invisível e vazio.
Nota: Uma classe não pode ter mais de um método constructor(). Isso lançará um SyntaxError
.
Você pode usar o super()
método para chamar o construtor de uma classe pai (consulte "Mais exemplos" abaixo).
Suporte ao navegador
constructor()
é um recurso ECMAScript6 (ES6).
O ES6 (JavaScript 2015) é compatível com todos os navegadores modernos:
Chrome | Edge | Firefox | Safari | Opera |
Yes | Yes | Yes | Yes | Yes |
constructor()
não é compatível com o Internet Explorer 11 (ou anterior).
Sintaxe
constructor(parameters)
Detalhes técnicos
Versão JavaScript: | ECMAScript 2015 (ES6) |
---|
Mais exemplos
Para criar uma herança de classe, use a palavra- extends
chave.
Uma classe criada com uma herança de classe herda todos os métodos de outra classe:
Exemplo
Crie uma classe chamada "Model" que herdará os métodos da classe "Car":
class Car {
constructor(brand) {
this.carname =
brand;
}
present() {
return 'I have a ' + this.carname;
}
}
class Model extends Car {
constructor(brand, mod) {
super(brand);
this.model = mod;
}
show() {
return this.present() + ', it is a ' + this.model;
}
}
mycar = new Model("Ford", "Mustang");
document.getElementById("demo").innerHTML
= mycar.show();
O super()
método se refere à classe pai.
Ao chamar o super()
método no método construtor, chamamos o método construtor do pai e obtemos acesso às propriedades e métodos do pai.
Páginas relacionadas
Tutorial JavaScript: Classes JavaScript
Tutorial JavaScript: JavaScript ES6 (EcmaScript 2015)
Referência JavaScript: a palavra-chave extends
Referência JavaScript: A super palavra-chave