Obtenha o nome da classe em JavaScript
-
Use o operador
instanceof
para obter o nome da classe em JavaScript -
Use a propriedade
name
para obter o nome da classe em JavaScript -
Use o operador
typeof
para obter o nome da classe em JavaScript -
Use a função
isPrototypeOf()
para obter 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