1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
|
=== tests/cases/compiler/instanceofOperator.ts ===
// Spec:
// The instanceof operator requires the left operand to be of type Any or an object type, and the right
// operand to be of type Any or a subtype of the ‘Function’ interface type. The result is always of the
// Boolean primitive type.
module test {
>test : Symbol(test, Decl(instanceofOperator.ts, 0, 0))
class Object { }
>Object : Symbol(Object, Decl(instanceofOperator.ts, 5, 13))
var obj: Object;
>obj : Symbol(obj, Decl(instanceofOperator.ts, 7, 7))
>Object : Symbol(Object, Decl(instanceofOperator.ts, 5, 13))
4 instanceof null;
// Error and should be error
obj instanceof 4;
>obj : Symbol(obj, Decl(instanceofOperator.ts, 7, 7))
Object instanceof obj;
>Object : Symbol(Object, Decl(instanceofOperator.ts, 5, 13))
>obj : Symbol(obj, Decl(instanceofOperator.ts, 7, 7))
// Error on left hand side
null instanceof null;
obj instanceof Object;
>obj : Symbol(obj, Decl(instanceofOperator.ts, 7, 7))
>Object : Symbol(Object, Decl(instanceofOperator.ts, 5, 13))
undefined instanceof undefined;
>undefined : Symbol(undefined)
>undefined : Symbol(undefined)
}
|