Obtenha o nome da classe em JavaScript

Aryan Tyagi 12 outubro 2023
  1. Use o operador instanceof para obter o nome da classe em JavaScript
  2. Use a propriedade name para obter o nome da classe em JavaScript
  3. Use o operador typeof para obter o nome da classe em JavaScript
  4. Use a função isPrototypeOf() para obter o nome da classe em JavaScript
Obtenha o nome da classe em JavaScript

Em JavaScript, você pode precisar obter o nome de uma classe de vez em quando. Isso é útil ao utilizar o nome da classe como um identificador ou para mensagens de depuração.

Em JavaScript, não há equivalente à função getClass() do Java porque Java é uma linguagem baseada em classe, enquanto JavaScript é uma linguagem baseada em protótipo.

Neste tutorial, obteremos o nome da classe em JavaScript.

Use o operador instanceof para obter o nome da classe em JavaScript

O operador instanceof não fornece diretamente o nome da classe, mas pode verificar se a propriedade de protótipo do construtor ocorre em qualquer lugar na cadeia de protótipo do objeto.

Por exemplo,

function Test() {}
let test = new Test();
console.log(test instanceof Test);

Produção:

true

No exemplo acima, teste pertence a Teste e é por isso que retorna true.

Use a propriedade name para obter o nome da classe em JavaScript

Podemos usar a propriedade name do construtor do objeto para saber o nome da classe em JavaScript. Dessa forma, obtemos o nome da classe por meio da qual instanciamos o objeto.

Por exemplo,

function Test() {}
let test = new Test();
console.log(test.constructor.name);
console.log(Test.name);

Produção:

Test
Test

Use o operador typeof para obter o nome da classe em JavaScript

O operador typeof retorna uma string que indica o tipo do operando.

Por exemplo,

function Test() {}
let test = new Test();
console.log(typeof Test);
console.log(typeof test);

Produção:

function
object

Use a função isPrototypeOf() para obter o nome da classe em JavaScript

A função isPrototypeOf() determina se um objeto é o protótipo de outro objeto. Primeiro, precisamos usar a propriedade prototype do objeto.

Veja o seguinte exemplo,

function Test() {}
let test = new Test();
console.log(Test.prototype.isPrototypeOf(test));

Produção:

true