35 lines
No EOL
1.4 KiB
Text
35 lines
No EOL
1.4 KiB
Text
==== tests/cases/compiler/instanceofOperator.ts (6 errors) ====
|
||
// 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.
|
||
|
||
class Object { }
|
||
~~~~~~
|
||
!!! Duplicate identifier 'Object'.
|
||
var obj: Object;
|
||
|
||
|
||
|
||
4 instanceof null;
|
||
~
|
||
!!! The left-hand side of an 'instanceof' expression must be of type 'any', an object type or a type parameter.
|
||
|
||
// Error and should be error
|
||
obj instanceof 4;
|
||
~
|
||
!!! The right-hand side of an 'instanceof' expression must be of type 'any' or of a type assignable to the 'Function' interface type.
|
||
Object instanceof obj;
|
||
~~~
|
||
!!! The right-hand side of an 'instanceof' expression must be of type 'any' or of a type assignable to the 'Function' interface type.
|
||
|
||
// Error on left hand side
|
||
null instanceof null;
|
||
~~~~
|
||
!!! The left-hand side of an 'instanceof' expression must be of type 'any', an object type or a type parameter.
|
||
obj instanceof Object;
|
||
undefined instanceof undefined;
|
||
~~~~~~~~~
|
||
!!! The left-hand side of an 'instanceof' expression must be of type 'any', an object type or a type parameter.
|
||
|
||
|