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 62 63
|
=== tests/cases/conformance/types/typeRelationships/widenedTypes/strictNullChecksNoWidening.ts ===
var a1 = null;
>a1 : null
>null : null
var a2 = undefined;
>a2 : undefined
>undefined : undefined
var a3 = void 0;
>a3 : undefined
>void 0 : undefined
>0 : 0
var b1 = [];
>b1 : never[]
>[] : never[]
var b2 = [,];
>b2 : undefined[]
>[,] : undefined[]
> : undefined
var b3 = [undefined];
>b3 : undefined[]
>[undefined] : undefined[]
>undefined : undefined
var b4 = [[], []];
>b4 : never[][]
>[[], []] : never[][]
>[] : never[]
>[] : never[]
var b5 = [[], [,]];
>b5 : undefined[][]
>[[], [,]] : undefined[][]
>[] : never[]
>[,] : undefined[]
> : undefined
declare function f<T>(x: T): T;
>f : <T>(x: T) => T
>x : T
var c1 = f(null);
>c1 : null
>f(null) : null
>f : <T>(x: T) => T
>null : null
var c2 = f(undefined);
>c2 : undefined
>f(undefined) : undefined
>f : <T>(x: T) => T
>undefined : undefined
var c3 = f([]);
>c3 : never[]
>f([]) : never[]
>f : <T>(x: T) => T
>[] : never[]
|