𝗖𝗼𝗻𝘀𝘁𝗿𝘂𝘁𝗼𝗿𝗲𝘀 𝗱𝗲 𝗢𝗯𝗷𝗲𝘁𝗼𝘀 𝗲𝗺 𝗝𝗮𝘃𝗮𝗦𝗰𝗿𝗶𝗽𝘁
Muitas vezes, você precisa criar muitos objetos do mesmo tipo. O JavaScript oferece várias maneiras de fazer isso.
Funções Construtoras
Um construtor é uma função especial para construir e configurar objetos. Use a palavra-chave new para chamá-lo. Sempre comece o nome da função com uma letra maiúscula. Isso ajuda a diferenciá-la de funções comuns.
Se você esquecer a palavra-chave new, a função funcionará como uma função padrão e não conseguirá criar um objeto adequado.
Valores Padrão
Você pode definir valores padrão em seu construtor. Isso garante que seus objetos sempre tenham dados válidos, mesmo que você esqueça um argumento.
Exemplo: function Person(name = "Unknown", age = 0) { this.name = name; this.age = age; }
Protótipos e Memória
Adicionar métodos a um protótipo é mais inteligente do que adicioná-los diretamente a um construtor. Quando você usa o protótipo, todas as instâncias compartilham um único método. Isso economiza memória porque o computador não recria o método para cada novo objeto.
Object.create()
Este método cria um novo objeto usando um objeto existente como seu protótipo. Ele estabelece a herança sem a necessidade de um construtor. O novo objeto pode acessar propriedades do objeto original.
Herança de Classes
O JavaScript moderno usa classes para lidar com herança. Você pode criar uma classe filha que estende uma classe pai. Use a palavra-chave super() para passar dados da filha para a pai. Isso permite que a filha use propriedades da pai enquanto adiciona seus próprios recursos exclusivos.
Por que usar construtores?
- Código reutilizável: Crie muitos objetos semelhantes rapidamente.
- Encapsulamento: Mantenha a lógica de configuração do objeto em um só lugar.
- Inicialização fácil: Defina valores específicos durante a criação.
- Herança: Construa objetos complexos a partir de outros mais simples.
- Código limpo: Mantenha sua lógica organizada e fácil de ler.
Source: https://www.geeksforgeeks.org/javascript/js-constructor-method/ Source: https://www.w3schools.com/js/js_object_constructors.asp Full post: https://dev.to/kamalesh_ar_6252544786997/object-constructors-in-javascript-2e96
Optional learning community: https://t.me/GyaanSetuAi