Compartir a través de


instanceof (Operador)

Actualización: noviembre 2007

Devuelve un valor Boolean que indica si un objeto es una instancia de una clase concreta o una función construida.

object instanceof class

Argumentos

  • object
    Necesario. Cualquier expresión de objeto.

  • class
    Necesario. Cualquier clase de objeto o función construida.

Comentarios

El operador instanceof devuelve true si el argumento object es una instancia del argumento class o una función construida. Devuelve false si el argumento object no es una instancia de la clase o función especificada, o si object es null.

El objeto Object de JScript es especial. Un objeto sólo se considera una instancia de Object si, y sólo si, se construyó con el constructor de Object.

Ejemplo 1

El siguiente ejemplo muestra el uso del operador instanceof para comprobar el tipo de una variable.

// This program uses System.DateTime, which must be imported.
import System

function isDate(ob) : String {
   if (ob instanceof Date)
      return "It's a JScript Date"
   if (ob instanceof DateTime)
      return "It's a .NET Framework Date"
   return "It's not a date"
}

var d1 : DateTime = DateTime.Now
var d2 : Date = new Date
print(isDate(d1))
print(isDate(d2))

El resultado de este código es:

It's a .NET Date
It's a JScript Date

Ejemplo 2

El siguiente ejemplo muestra el uso del operador instanceof para comprobar instancias de una función construida.

function square(x : int) : int {
   return x*x
}

function bracket(s : String) : String{
   return("[" + s + "]");
}

var f = new square
print(f instanceof square)
print(f instanceof bracket)

El resultado de este código es:

true
false

Ejemplo 3

El siguiente ejemplo muestra cómo el operador instanceof comprueba si los objetos son instancias de Object.

class CDerived extends Object {
   var x : double;
}

var f : CDerived = new CDerived;
var ob : Object = f;
print(ob instanceof Object);

ob = new Object;
print(ob instanceof Object);

El resultado de este código es:

false
true

Requisitos

Versión 5

Vea también

Conceptos

Precedencia de operadores

Resumen de operadores