Neste artigo você vai aprender a como pegar o nome de um objeto ou classe em JavaScript, veja os detalhes agora mesmo!
Introdução
Em JavaScript, é comum trabalhar com objetos e classes, especialmente ao criar aplicativos complexos e bem organizados.
Muitas vezes, os desenvolvedores precisam pegar o nome de um objeto ou classe para fins de depuração, registro ou manipulação dinâmica de instâncias.
Neste artigo, vamos explorar diferentes maneiras de pegar o nome de um objeto ou classe em JavaScript e discutir seus prós e contras.
Usando a propriedade constructor.name
Uma das maneiras mais simples de pegar o nome de um objeto ou classe em JavaScript é usar a propriedade constructor.name
.
Todo objeto em JavaScript possui uma propriedade constructor
que aponta para a função construtora que criou o objeto.
Essa função construtora, por sua vez, possui uma propriedade name
que contém o nome da função ou classe.
Exemplo:
class Pessoa { constructor(nome) { this.nome = nome; } } const joao = new Pessoa('João'); console.log(joao.constructor.name); // Output: "Pessoa"
Neste exemplo, ao pegar o nome do objeto joao
, obtemos “Pessoa”, que é o nome da classe que o criou.
No entanto, vale ressaltar que essa abordagem pode não funcionar em todos os casos, especialmente quando o código é minificado ou ofuscado, pois os nomes das funções e classes podem ser alterados no processo.
Usando a função Object.prototype.toString
Outra maneira de pegar o nome de um objeto ou classe é usando a função Object.prototype.toString
. Essa função retorna uma representação de string do objeto, incluindo seu nome de classe.
Exemplo:
class Pessoa { constructor(nome) { this.nome = nome; } } const joao = new Pessoa('João'); console.log(Object.prototype.toString.call(joao)); // Output: "[object Pessoa]"
Para extrair apenas o nome da classe do resultado, você pode usar uma expressão regular ou outras técnicas de manipulação de strings.
Usando a função Function.prototype.toString
Você também pode pegar o nome de uma classe usando a função Function.prototype.toString
.
Essa função retorna a representação de string da função, incluindo seu nome.
Exemplo:
class Pessoa { constructor(nome) { this.nome = nome; } } console.log(Pessoa.toString()); // Output: "class Pessoa { ... }"
Novamente, você precisará extrair o nome da classe usando expressões regulares ou outras técnicas de manipulação de strings.
Quer aprender mais sobre React? Confira o vídeo abaixo:
Conclusão
Pegar o nome de um objeto ou classe em JavaScript pode ser útil em várias situações, como depuração, registro e manipulação dinâmica de instâncias.
Neste artigo, exploramos três maneiras de fazer isso: usando a propriedade constructor.name
, a função Object.prototype.toString
e a função Function.prototype.toString
.
Cada abordagem tem suas vantagens e desvantagens, e a escolha da melhor opção dependerá das necessidades específicas do seu projeto e do ambiente em que seu código será executado.
Está buscando a sua primeira vaga como Programador? Confira o nosso treinamento completo clicando aqui.
Nosso principal objetivo é tornar você um dev no menor tempo possível, através de uma metodologia planejada nos mínimos detalhes, após formar muitos outros desenvolvedores.
Uma plataforma de cursos com projetos completos, comunidade de alunos e muito mais!