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 41 42 43 44 45 46 47 48 49 50 51
|
=== 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 : typeof test
class Object { }
>Object : Object
var obj: Object;
>obj : Object
4 instanceof null;
>4 instanceof null : boolean
>4 : 4
>null : null
// Error and should be error
obj instanceof 4;
>obj instanceof 4 : boolean
>obj : Object
>4 : 4
Object instanceof obj;
>Object instanceof obj : boolean
>Object : typeof Object
>obj : Object
// Error on left hand side
null instanceof null;
>null instanceof null : boolean
>null : null
>null : null
obj instanceof Object;
>obj instanceof Object : boolean
>obj : Object
>Object : typeof Object
undefined instanceof undefined;
>undefined instanceof undefined : boolean
>undefined : undefined
>undefined : undefined
}
|