aboutsummaryrefslogtreecommitdiff
path: root/files/es/web/javascript/reference/operators/instanceof/index.html
blob: 4acc592da627e17613248abed7241ea91c58477b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
---
title: instanceof
slug: Web/JavaScript/Reference/Operators/instanceof
tags:
  - JavaScript
  - Operator
  - Relational Operators
translation_of: Web/JavaScript/Reference/Operators/instanceof
original_slug: Web/JavaScript/Referencia/Operadores/instanceof
---
<div>{{jsSidebar("Operators")}}</div>

<h2 id="Resumen" name="Resumen">Resumen</h2>

<p>El operador <strong><code>instanceof</code></strong> verifica si un objeto en su cadena de prototipos contiene la propiedad <code>prototype</code> de un constructor.</p>

<h2 id="Sintaxis" name="Sintaxis">Sintaxis</h2>

<pre class="syntaxbox"><em>objeto</em> instanceof <em>constructor</em></pre>

<h3 id="Par.C3.A1metros" name="Par.C3.A1metros">Parámetros</h3>

<dl>
 <dt><code>objeto</code></dt>
 <dd>Objeto a verificar.</dd>
</dl>

<dl>
 <dt><code>constructor</code></dt>
 <dd>Función contra la que se hará la verificación.</dd>
</dl>

<h2 id="Descripci.C3.B3n" name="Descripci.C3.B3n">Descripción</h2>

<p>Utilice <code>instanceof</code> 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.</p>

<p>Debe especificar un objeto en el lado derecho del operador <code>instanceof</code>. Por ejemplo, puede especificar una cadena creada con el constructor <code>String</code>, pero no puede especificar un literal de cadena.</p>

<pre>color1=new String("verde")
color1 instanceof String // devuelve verdadero (true)
color2="coral"
color2 instanceof String // devuelve falso (color2 no es un objeto String)
</pre>

<h3 id="Ejemplos" name="Ejemplos">Ejemplos</h3>

<p>También vea los ejemplos de {{jsxref("Sentencias/throw", "throw")}}.</p>

<h4 id="Ejemplo:_Determinando_si_elDia_es_un_objeto_Date" name="Ejemplo:_Determinando_si_elDia_es_un_objeto_Date">Ejemplo: Determinando si <code>elDia</code> es un objeto <code>Date</code></h4>

<p>El siguiente código utiliza <code>instanceof</code> para determinar si <code>elDia</code> es un objeto <code>Date</code>. Debido a que <code>elDia</code> es un objeto <code>Date</code>, las instrucciones de la sentencia if se ejecutan.</p>

<pre>elDia = new Date(1995, 12, 17)
if (elDia instanceof Date) {
   // instrucciones a ejecutar
}
</pre>

<h4 id="Ejemplo:_Demostrando_que_String_y_Date_son_del_tipo_Object" name="Ejemplo:_Demostrando_que_String_y_Date_son_del_tipo_Object">Ejemplo: Demostrando que <code>String</code> y <code>Date</code> son del tipo <code>Object</code></h4>

<p>El siguiente código utiliza <code>instanceof</code> para demostrar que los objetos <code>String</code> y <code>Date</code> son también del tipo <code>Object</code> (éstos se derivan de <code>Object</code>).</p>

<pre>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
</pre>

<h4 id="Ejemplo:_Demostrando_que_miCoche_es_del_tipo_Coche_y_del_tipo_Object" name="Ejemplo:_Demostrando_que_miCoche_es_del_tipo_Coche_y_del_tipo_Object">Ejemplo: Demostrando que <code>miCoche</code> es del tipo <code>Coche</code> y del tipo <code>Object</code></h4>

<p>El siguiente código crea un objeto del tipo <code>Coche</code> y una instancia de ese tipo de objeto, <code>miCoche</code>. El operador <code>instanceof</code> demuestra que el objeto <code>miCoche</code> es del tipo <code>Coche</code> y del tipo <code>Object</code>.</p>

<pre>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)
</pre>

<div class="noinclude"> </div>