instanceof, opérateur
Retourne une valeur booléenne indiquant si un objet est une instance d'une classe particulière ou d'une fonction construite.
object instanceof class
Arguments
object
Obligatoire. Toute expression d'objet.class
Obligatoire. Toute classe d'objets ou fonction construite.
Notes
L'opérateur instanceof retourne la valeur true si object est une instance de class ou d'une fonction construite. Il retourne la valeur false si object n'est pas une instance de la classe ou fonction spécifiée, ou si object a la valeur null.
L'objet Object JScript est spécial. Un objet est considéré comme une instance de Object si et seulement si l'objet a été construit avec le constructeur Object.
Exemple 1
L'exemple suivant illustre une utilisation de l'opérateur instanceof afin de vérifier le type d'une 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))
Le résultat généré par ce code est le suivant :
It's a .NET Date
It's a JScript Date
Exemple 2
L'exemple suivant illustre une utilisation de l'opérateur instanceof afin de vérifier les instances d'une fonction construite.
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)
Le résultat généré par ce code est le suivant :
true
false
Exemple 3
L'exemple suivant montre comment l'opérateur instanceof vérifie si des objets sont des instances 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);
Le résultat généré par ce code est le suivant :
false
true