A Palavra-chave new
Parte da seção Programação Orientada a Objetos do Journey de JavaScript da Coddy — lição 5 de 56.
A palavra-chave new em JavaScript é usada para criar instâncias de funções construtoras, que atuam como modelos para a criação de objetos.
Crie uma função construtora para um Person:
function Person(name, age) {
this.name = name;
this.age = age;
this.greet = function() {
return "Hello, my name is " + this.name;
};
}Use a palavra-chave new para criar uma instância:
const john = new Person("John", 30);Após executar o código acima, john é um objeto com propriedades e um método:
john.nameé "John"john.ageé 30john.greet()retorna "Hello, my name is John"
Sem a palavra-chave new, o this se referiria ao objeto global (ou undefined no modo estrito), não à nova instância.
Desafio
Crie um Objeto Carro e Imprima Sua Descrição
Você recebeu uma função construtora que cria objetos de carro. Sua tarefa é:
- Crie um novo objeto de carro usando a palavra-chave
new, passe "Honda" como o nome e 2018 como o ano - Chame o método
getDescriptionno seu objeto de carro - Imprima o resultado no console
Folha de consulta
A palavra-chave new cria instâncias de funções construtoras, que atuam como modelos para objetos.
Defina uma função construtora:
function Person(name, age) {
this.name = name;
this.age = age;
this.greet = function() {
return "Hello, my name is " + this.name;
};
}Crie uma instância usando new:
const john = new Person("John", 30);Acesse propriedades e métodos:
john.name // "John"
john.age // 30
john.greet() // "Hello, my name is John"Sem new, this refere-se ao objeto global (ou undefined no modo estrito) em vez da nova instância.
Experimente você mesmo
function Car(name, year) {
this.name = name;
this.year = year;
this.getDescription = function() {
return "This is a " + this.name + " from " + this.year;
};
}
// TODO: Crie um novo objeto de carro usando a palavra-chave new, passe "Honda" como o nome e 2018 como o ano
// TODO: Chame o método getDescription no seu objeto de carro e imprima o resultado no console
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Programação Orientada a Objetos
1Objetos e a Palavra-chave this
Revisão Rápida: ObjetosAdicionando Métodos a ObjetosEntendendo a Palavra-chave thisFunções ConstrutorasA Palavra-chave newDesafio de Recapitulação7Herança e a palavra-chave extends
HerançaA relação "é um"A palavra-chave extendsO método super()Herdando propriedades e métodosDesafio de recapitulação10Polimorfismo
O que é Polimorfismo?Sobrescrevendo Métodos HerdadosUsando superDesafio de Recapitulação13Composição vs. Herança
A relação "tem um" vs. "é um"Os limites da herança profundaConstruindo objetos2Organizando o Código
O que são Módulos?Exportando com exportImportando com importExportações Default vs. Nomeadas5Encapsulamento e Acesso
EncapsulamentoCampos de Classe Públicos e PrivadosMétodos PrivadosDesafio de Recapitulação8Organizando Código POO
Organizar Classes em Módulos11Projeto: Um Renderizador de Formas
Configuração: Classe Shape e ExportaçãoHerança da Classe Circle14Sistema de Gerenciamento de Biblioteca
Projetando a BibliotecaClasse Livro com Composição