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