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 52 53 54 55 56 57 58 59 60 61
|
//// [tests/cases/compiler/instanceofOnInstantiationExpression.ts] ////
=== instanceofOnInstantiationExpression.ts ===
declare class Box<T> {
>Box : Box<T>
value: T;
>value : T
}
declare const maybeBox: unknown;
>maybeBox : unknown
maybeBox instanceof Box; // OK
>maybeBox instanceof Box : boolean
>maybeBox : unknown
>Box : typeof Box
maybeBox instanceof Box<number>; // error
>maybeBox instanceof Box<number> : boolean
>maybeBox : unknown
>Box<number> : { new (): Box<number>; prototype: Box<any>; }
>Box : typeof Box
maybeBox instanceof (Box<number>); // error
>maybeBox instanceof (Box<number>) : boolean
>maybeBox : unknown
>(Box<number>) : { new (): Box<number>; prototype: Box<any>; }
>Box<number> : { new (): Box<number>; prototype: Box<any>; }
>Box : typeof Box
maybeBox instanceof ((Box<number>)); // error
>maybeBox instanceof ((Box<number>)) : boolean
>maybeBox : unknown
>((Box<number>)) : { new (): Box<number>; prototype: Box<any>; }
>(Box<number>) : { new (): Box<number>; prototype: Box<any>; }
>Box<number> : { new (): Box<number>; prototype: Box<any>; }
>Box : typeof Box
Box<number> instanceof Object; // OK
>Box<number> instanceof Object : boolean
>Box<number> : { new (): Box<number>; prototype: Box<any>; }
>Box : typeof Box
>Object : ObjectConstructor
(Box<number>) instanceof Object; // OK
>(Box<number>) instanceof Object : boolean
>(Box<number>) : { new (): Box<number>; prototype: Box<any>; }
>Box<number> : { new (): Box<number>; prototype: Box<any>; }
>Box : typeof Box
>Object : ObjectConstructor
((Box<number>)) instanceof Object; // OK
>((Box<number>)) instanceof Object : boolean
>((Box<number>)) : { new (): Box<number>; prototype: Box<any>; }
>(Box<number>) : { new (): Box<number>; prototype: Box<any>; }
>Box<number> : { new (): Box<number>; prototype: Box<any>; }
>Box : typeof Box
>Object : ObjectConstructor
|