Читать книгу Aprender Javascript Avanzado con 100 ejercicios prácticos - MEDIAactive - Страница 23

017 El operador ‘instanceof’

Оглавление

ASÍ COMO EL OPERADOR TYPEOF SE utiliza en JavaScript para distinguir entre los diferentes datos primitivos y los objetos, existe otro operador que permite comprobar si un objeto es una instancia o un constructor (de los constructores hablaremos con todo detalle más adelante en este libro): se trata del operador instanceof.

1. En este ejercicio describiremos el operador instanceof , el cual, como ya hemos adelantado en la introducción de este ejercicio, se utiliza para saber si un objeto es una instancia o un constructor. Por si todavía no sabe qué es un constructor diremos que son funciones con nombre que ayudan en la producción de objetos que son parecidos en algún aspecto. Los constructores serán tratados con todo detalle en un ejercicio posterior de este libro.


Ejemplo de constructor en JavaScript.

2. El uso del operador instanceof se recomienda en aquellos casos en que se desea comprobar el tipo de objeto con que se está trabajando en tiempo de ejecución.

3. El modo en que se utiliza este operador en la sintaxis de JavaS-cript necesita el nombre del objeto cuyo tipo de desea comparar y el tipo de objeto en cuestión. Lo que debe tener en cuenta es que como operando derecho, es decir, como tipo de objeto, debe declarar un objeto, no su descripción. Con ello queremos decir que, por ejemplo, en un objeto tipo String, deberá indicar la palabra ‘String’ en lugar de la cadena de texto correspondiente.


4. A continuación, mostramos unos ejemplos de script en los cuales se utiliza el operador instanceof . Con el primero de ellos podremos comprobar si un dato es un objeto del tipo Date:

hoy = new Date(2015, 02, 29)

if (hoy instanceof Date) {

document.write(‘¡Hoy es tu día!’);

}

5. hoy es el nombre del objeto que se desea comprobar y Date , el tipo de objeto. Si el resultado es true , es decir, si hoy es un objeto Date , se ejecutará la función indicada a continuación (document.write).

6. Veamos un segundo ejemplo del uso del operador instanceof. En esta ocasión, lo utilizaremos para comprobar si dos objetos del tipo String y Number son del tipo Object:

texto = new String()

cifra = new Number()

texto instanceof String == true

texto instanceof Object == true

texto instanceof Date == false

cifra instanceof Date == true

cifra instanceof Object == true

cifra instanceof String == false

7. Como puede ver, los valores que devuelve el operador instanceof en este caso son valores booleanos del tipo true y false. Otro caso en el cual se podría utilizar el operador que estamos tratando es la comprobación de que un tipo de objeto creado por nosotros es de un tipo concreto y del tipo Object.


El valor situado a la derecha del operador == es el que devolverá el operadorinstanceof al evaluar los tipos de datos indicados en cada caso.

Aprender Javascript Avanzado con 100 ejercicios prácticos

Подняться наверх