As funções construtoras em JavaScript são uma forma tradicional de criar objetos. Elas permitem a criação de múltiplas instâncias de um objeto com a mesma estrutura, promovendo a reutilização de código e a organização. Neste post, vamos explorar como as funções construtoras funcionam, como utilizá-las e algumas boas práticas.

1. O que são funções construtoras?

Uma função construtora é uma função que é usada para criar e inicializar objetos. Ao contrário de funções normais, uma função construtora é chamada com a palavra-chave new, que cria uma nova instância do objeto.

2. Definindo uma função construtora

Veja um exemplo básico de uma função construtora para um objeto Carro:

function Carro(marca, modelo, ano) {
  this.marca = marca;
  this.modelo = modelo;
  this.ano = ano;
  this.info = function () {
    return `${this.marca} ${this.modelo} - ${this.ano}`;
  };
}

const carro1 = new Carro("Toyota", "Corolla", 2020);
const carro2 = new Carro("Honda", "Civic", 2019);

console.log(carro1.info()); // "Toyota Corolla - 2020"
console.log(carro2.info()); // "Honda Civic - 2019"

3. Usando this em funções construtoras

Dentro de uma função construtora, a palavra-chave this refere-se à nova instância do objeto que está sendo criada. Isso permite que você atribua valores às propriedades do objeto.

4. Prototipagem com funções construtoras

Uma prática comum ao usar funções construtoras é adicionar métodos ao protótipo da função. Isso economiza memória, pois todos os objetos criados a partir da função construtora compartilham o mesmo método.

function Carro(marca, modelo, ano) {
  this.marca = marca;
  this.modelo = modelo;
  this.ano = ano;
}

Carro.prototype.info = function () {
  return `${this.marca} ${this.modelo} - ${this.ano}`;
};

const carro1 = new Carro("Ford", "Mustang", 2021);
const carro2 = new Carro("Chevrolet", "Camaro", 2020);

console.log(carro1.info()); // "Ford Mustang - 2021"
console.log(carro2.info()); // "Chevrolet Camaro - 2020"

5. Construtores de objetos com validação

As funções construtoras também podem incluir lógica para validar os dados fornecidos ao criar um novo objeto.

function ContaBancaria(saldoInicial) {
  this.saldo = saldoInicial;

  this.depositar = function (valor) {
    if (valor > 0) {
      this.saldo += valor;
      console.log(`Depositado: R$${valor}. Saldo atual: R$${this.saldo}`);
    } else {
      console.log("Valor de depósito inválido!");
    }
  };

  this.sacar = function (valor) {
    if (valor > 0 && valor <= this.saldo) {
      this.saldo -= valor;
      console.log(`Sacado: R$${valor}. Saldo atual: R$${this.saldo}`);
    } else {
      console.log("Saque inválido!");
    }
  };
}

const conta1 = new ContaBancaria(1000);
conta1.depositar(500); // "Depositado: R$500. Saldo atual: R$1500"
conta1.sacar(200); // "Sacado: R$200. Saldo atual: R$1300"

6. Boas práticas

  • Nomeie suas funções construtoras com letra maiúscula: É uma convenção em JavaScript que ajuda a identificar facilmente funções construtoras.

  • Use o new sempre que criar instâncias: Sempre chame uma função construtora com a palavra-chave new para garantir que a nova instância seja criada corretamente.

  • Utilize prototipagem para métodos comuns: Isso economiza memória e mantém o código mais limpo.

As funções construtoras são uma maneira eficaz de criar objetos em JavaScript, promovendo a reutilização de código e a organização.

Ao entender como usar funções construtoras e o conceito de protótipos, você pode criar estruturas de dados robustas e modulares em suas aplicações. Experimente implementar funções construtoras em seus projetos e veja como elas podem simplificar sua lógica de programação!

QUER SER UM PROGRAMADOR FULL-STACK E DOMINAR AS PRINCIPAIS TECNOLOGIAS DO MERCADO?

Aprenda através de projetos reais e aulas práticas. São 20 cursos completos + cursos bônus. Grupos privados exclusivos, atualizações constantes e lives semanais.

Python, PHP, Java Script, CSS, Node, Angular JS, MySQL, Photoshop, Flutter, AWS, Apache e muito mais!

CLIQUE NA IMAGEM ABAIXO E CONFIRA MAIS DETALHES:

CLIQUE AQUI E SAIBA MAIS

Dúvidas ou sugestões? Deixem nos comentários! Para mais dicas, acesse o nosso canal no YouTube:
https://youtube.com/criandobits

Tags:

Quer receber GRÁTIS o e-book "Como Formatar um Computador em 5 Minutos"?

Não enviamos spam. Seu e-mail está 100% seguro!

Sobre o Autor

Bene Silva Júnior
Bene Silva Júnior

Bacharel em Sistemas de Informação pelo Instituto Paulista de Pesquisa e Ensino IPEP. Apaixonado por tecnologias e games do tempo da vovó!

0 Comentários

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *