Menu
Coddy logo textTech

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 é 30
  • john.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.

challenge icon

Desafio

Crie um Objeto Carro e Imprima Sua Descrição

Você recebeu uma função construtora que cria objetos de carro. Sua tarefa é:

  1. Crie um novo objeto de carro usando a palavra-chave new, passe "Honda" como o nome e 2018 como o ano
  2. Chame o método getDescription no seu objeto de carro
  3. 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



quiz iconTeste seus conhecimentos

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