instanceof
El operador instanceof se usa para verificar si un objeto es una instancia de una clase específica o de un constructor. Devuelve true si lo es, y false si no.
Ejemplo de uso de instanceof:
1function Persona(nombre) { 2 this.nombre = nombre; 3} 4 5let juan = new Persona("Juan"); 6 7console.log(juan instanceof Persona); // true 8console.log(juan instanceof Object); // true 9console.log(juan instanceof Array); // falseSalida de consola true true false
En este ejemplo:
juan instanceof Personadevuelvetrueporquejuanfue creado usando el constructorPersona.juan instanceof Objecttambién devuelvetrueporque en JavaScript, todos los objetos son instancias deObject.juan instanceof Arraydevuelvefalseporquejuanno es un arreglo.
Resumen del tema
Conceptos clave #
- Operador
instanceof: operador binario que verifica si elprototypede un constructor o clase figura en algún punto de la cadena de prototipos del objeto evaluado (objeto instanceof Constructor). - Diferencia vs
typeof:typeof: evalúa tipos primitivos y funciones, pero no distingue entre diferentes tipos de objetos (ej. array vs objeto simple devuelven"object").instanceof: comprueba relaciones de herencia y pertenencia a clases ([] instanceof Arrayestrue).
- Jerarquía Global: prácticamente todos los objetos en JavaScript son instancias de
Object(obj instanceof Object === true).
Qué debes recordar #
Usa instanceof para verificar si un objeto pertenece a una clase o jerarquía de herencia específica navegando por su cadena de prototipos.