35 lines
1.4 KiB
Text
35 lines
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.
|
|||
|
|
|||
|
|