JS-0701 - JavaScript Completo ES6 - Classes

JS-0701 - JavaScript Completo ES6 - Classes
Publicado em 29/04/2021 00h36
Visualizações: 1979

Uma nova sintaxe para a construção de objetos

As Classes em JS funcionam iguais as Constructor Functions (responsáveis pela criação de objetos) e este conceito é implementado em outras linguagens, nativamente como classes.

Relembrando as funções construtoras, a implementação é definida com seus atributos, métodos de seu protótipo e a instanciação através do operador new em uma variável. Ex:

JS-0701 - JavaScript Completo ES6 - Classes

A partir da versão ES6 o JavaScript trouxe o conceito de classes como forma de implementação de funções construtoras, utilizando uma sintaxe mais simplificada e limpa, utilizando a palavra chave class. Esta nova sintaxe é considerada uma "syntactical sugar". Mas seu funcionamento interno é de funções construtoras, incluindo os métodos no prototype e as heranças baseadas nestes protótipos para a criação de objetos.

As classes, por convenção, assim como as funções construtoras, recebem seu nome com o padrão CamelCase.

A mesma função construtora anterior, escrita como uma classe, fica da seguinte forma:

JS-0701 - JavaScript Completo ES6 - Classes

Para uma classe é essencial a utilização do método chamado constructor, onde são recebidos os parâmetros, caso existam, e são definidas as propriedades do objeto que será criado. Como padrão, o retorno da classe é sempre o this, tendo o construtor como responsável pelo retorno. Contudo é possível definir um retorno específico no construtor, o que não é recomendável, pois restringe o acesso aos métodos internos da classe. As propriedades são acessíveis em qualquer ponto da classe através de this.

As propriedades podem conter qualquer valor ou tipo, incluindo objetos. Ex:

JS-0701 - JavaScript Completo ES6 - Classes

A palavra-chave static pode ser utilizada para retornar a própria classe com suas propriedades pré definidas. Static cria um método dentro da função construtora que não aparece nem no protótipo, se vinculando diretamente a classe e não ao objeto. Isto permite que métodos de uma classe sejam utilizados diretamente, não sendo necessário instanciar a classe com o operador new. Em vez disso, eles são chamados através da própria classe, sendo geralmente funções utilitárias, para criar ou clonar objetos, assim como o método from de Array. Ex:

JS-0701 - JavaScript Completo ES6 - Classes

Veja também:

Confira mais artigos relacionados

Este website utiliza cookies próprios e de terceiros a fim de personalizar o conteúdo, melhorar a experiência do usuário, fornecer funções de mídias sociais e analisar o tráfego. Para continuar navegando você deve concordar com nossa Política de Privacidade

Sim, eu aceito. Não, eu não aceito.