instanceof
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)