Operador de instanceof
Retorna um valor booleano que indica se ou não um objeto é uma instância de uma determinada classe ou função construída.
object instanceof class
Argumentos
object
Obrigatório. Qualquer expressão de objeto.class
Obrigatório. Qualquer classe de objeto ou função construída.
Comentários
O instanceof o operador retorna true se objeto é uma instância de class ou construídas em função. Ele retorna false se objeto não é uma instância da classe especificada ou função, ou se objeto é null.
O JScript Object é especial. Um objeto é considerado apenas uma instância de Object se e somente se o objeto foi construído com o Object construtor.
Exemplo 1
O exemplo a seguir ilustra um uso o instanceof o operador para verificar o tipo de variável.
// 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))
A saída desse código é:
It's a .NET Date
It's a JScript Date
Exemplo 2
O exemplo a seguir ilustra um uso o instanceof o operador para verificar as instâncias da função construído.
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)
A saída desse código é:
true
false
Exemplo 3
O exemplo a seguir ilustra como o instanceof operador verifica se os objetos são instâncias 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);
A saída desse código é:
false
true