-
Notifications
You must be signed in to change notification settings - Fork 12.2k
/
arrayTypeOfTypeOf.types
24 lines (18 loc) · 1.21 KB
/
arrayTypeOfTypeOf.types
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
=== tests/cases/conformance/types/specifyingTypes/typeLiterals/arrayTypeOfTypeOf.ts ===
// array type cannot use typeof.
var x = 1;
>x : number
>1 : 1
var xs: typeof x[]; // Not an error. This is equivalent to Array<typeof x>
>xs : number[]
>x : number
var xs2: typeof Array;
>xs2 : ArrayConstructor
>Array : ArrayConstructor
var xs3: typeof Array<number>;
>xs3 : { (arrayLength: number): number[]; (...items: number[]): number[]; new (arrayLength: number): number[]; new (...items: number[]): number[]; isArray<T>(arg: T): arg is Cast<0 extends 1 & T ? any[] : T extends readonly unknown[] ? T : T extends string ? never : T extends ArrayLike<infer U> ? U[] : unknown extends T ? unknown[] : never, T>; readonly prototype: any[]; }
>Array : ArrayConstructor
var xs4: typeof Array<typeof x>;
>xs4 : { (arrayLength: number): number[]; (...items: number[]): number[]; new (arrayLength: number): number[]; new (...items: number[]): number[]; isArray<T>(arg: T): arg is Cast<0 extends 1 & T ? any[] : T extends readonly unknown[] ? T : T extends string ? never : T extends ArrayLike<infer U> ? U[] : unknown extends T ? unknown[] : never, T>; readonly prototype: any[]; }
>Array : ArrayConstructor
>x : number