instanceof
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Resumen
El operador instanceof
verifica si un objeto en su cadena de prototipos contiene la propiedad prototype
de un constructor.
Sintaxis
objeto instanceof constructor
Parámetros
objeto
-
Objeto a verificar.
constructor
-
Función contra la que se hará la verificación.
Descripción
Utilice instanceof
cuando necesite confirmar el tipo de un objeto en tiempo de ejecución. Por ejemplo, cuando controle excepciones, puede recurrir a diferentes códigos de manipulación de excepciones dependiendo del tipo de excepción tomada.
Debe especificar un objeto en el lado derecho del operador instanceof
. Por ejemplo, puede especificar una cadena creada con el constructor String
, pero no puede especificar un literal de cadena.
color1 = new String("verde");
color1 instanceof String; // devuelve verdadero (true)
color2 = "coral";
color2 instanceof String; // devuelve falso (color2 no es un objeto String)
Ejemplos
También vea los ejemplos de throw
.
Ejemplo: Determinando si elDia
es un objeto Date
El siguiente código utiliza instanceof
para determinar si elDia
es un objeto Date
. Debido a que elDia
es un objeto Date
, las instrucciones de la sentencia if se ejecutan.
elDia = new Date(1995, 12, 17);
if (elDia instanceof Date) {
// instrucciones a ejecutar
}
Ejemplo: Demostrando que String
y Date
son del tipo Object
El siguiente código utiliza instanceof
para demostrar que los objetos String
y Date
son también del tipo Object
(éstos se derivan de Object
).
miCadena = new String();
miFecha = new Date();
miCadena instanceof String; // devuelve true
miCadena instanceof Object; // devuelve true
miCadena instanceof Date; // devuelve false
miFecha instanceof Date; // devuelve true
miFecha instanceof Object; // devuelve true
miFecha instanceof String; // devuelve false
Ejemplo: Demostrando que miCoche
es del tipo Coche
y del tipo Object
El siguiente código crea un objeto del tipo Coche
y una instancia de ese tipo de objeto, miCoche
. El operador instanceof
demuestra que el objeto miCoche
es del tipo Coche
y del tipo Object
.
function Coche(fabricante, modelo, ejercicio) {
this.fabricante = fabricante;
this.modelo = modelo;
this.ejercicio = ejercicio;
}
miCoche = new Coche("Honda", "Accord", 1998);
a = miCoche instanceof Coche; // devuelve verdadero (true)
b = miCoche instanceof Object; // devuelve verdadero (true)