Condividi tramite


Operatore instanceof

Aggiornamento: novembre 2007

Restituisce un valore booleano che indica se un oggetto è o meno un'istanza di una classe o di una funzione costruita particolare.

object instanceof class

Argomenti

  • object
    Obbligatorio. Qualsiasi espressione oggetto.

  • class
    Obbligatorio. Qualsiasi classe o funzione costruita dell'oggetto.

Note

Mediante l'operatore instanceof viene restituito true se object è un'istanza di class o della funzione costruita. Viene restituito invece false se object non è un'istanza della classe o della funzione specificata oppure se il valore di object è null.

Object è uno speciale metodo JScript. Un oggetto viene considerato un'istanza di Object se, e solo se, è stato costruito mediante il costruttore di Object.

Esempio 1

Nell'esempio seguente viene illustrato l'utilizzo dell'operatore instanceof per verificare il tipo di una variabile.

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

L'output del codice è il seguente:

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

Esempio 2

Nell'esempio seguente viene illustrato l'utilizzo dell'operatore instanceof per verificare istanze di una funzione costruita.

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)

L'output del codice è il seguente:

true
false

Esempio 3

Nell'esempio seguente viene illustrato l'utilizzo dell'operatore instanceof per verificare se gli oggetti sono istanze di 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);

L'output del codice è il seguente:

false
true

Requisiti

Versione 5

Vedere anche

Concetti

Precedenza tra gli operatori

Riepilogo degli operatori