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

Configuration requise

Version 5

Voir aussi

Concepts

Priorité des opérateurs

Liste des opérateurs