TypeScript/tests/baselines/reference/arrayLiteralWidened.types
2015-04-13 14:29:37 -07:00

56 lines
2.1 KiB
Plaintext

=== tests/cases/conformance/types/typeRelationships/widenedTypes/arrayLiteralWidened.ts ===
// array literals are widened upon assignment according to their element type
var a = []; // any[]
>a : any[], Symbol(a, Decl(arrayLiteralWidened.ts, 2, 3), Decl(arrayLiteralWidened.ts, 4, 3), Decl(arrayLiteralWidened.ts, 5, 3))
>[] : undefined[]
var a = [null, null];
>a : any[], Symbol(a, Decl(arrayLiteralWidened.ts, 2, 3), Decl(arrayLiteralWidened.ts, 4, 3), Decl(arrayLiteralWidened.ts, 5, 3))
>[null, null] : null[]
>null : null
>null : null
var a = [undefined, undefined];
>a : any[], Symbol(a, Decl(arrayLiteralWidened.ts, 2, 3), Decl(arrayLiteralWidened.ts, 4, 3), Decl(arrayLiteralWidened.ts, 5, 3))
>[undefined, undefined] : undefined[]
>undefined : undefined, Symbol(undefined)
>undefined : undefined, Symbol(undefined)
var b = [[], [null, null]]; // any[][]
>b : any[][], Symbol(b, Decl(arrayLiteralWidened.ts, 7, 3), Decl(arrayLiteralWidened.ts, 8, 3), Decl(arrayLiteralWidened.ts, 9, 3))
>[[], [null, null]] : null[][]
>[] : undefined[]
>[null, null] : null[]
>null : null
>null : null
var b = [[], []];
>b : any[][], Symbol(b, Decl(arrayLiteralWidened.ts, 7, 3), Decl(arrayLiteralWidened.ts, 8, 3), Decl(arrayLiteralWidened.ts, 9, 3))
>[[], []] : undefined[][]
>[] : undefined[]
>[] : undefined[]
var b = [[undefined, undefined]];
>b : any[][], Symbol(b, Decl(arrayLiteralWidened.ts, 7, 3), Decl(arrayLiteralWidened.ts, 8, 3), Decl(arrayLiteralWidened.ts, 9, 3))
>[[undefined, undefined]] : undefined[][]
>[undefined, undefined] : undefined[]
>undefined : undefined, Symbol(undefined)
>undefined : undefined, Symbol(undefined)
var c = [[[]]]; // any[][][]
>c : any[][][], Symbol(c, Decl(arrayLiteralWidened.ts, 11, 3), Decl(arrayLiteralWidened.ts, 12, 3))
>[[[]]] : undefined[][][]
>[[]] : undefined[][]
>[] : undefined[]
var c = [[[null]],[undefined]]
>c : any[][][], Symbol(c, Decl(arrayLiteralWidened.ts, 11, 3), Decl(arrayLiteralWidened.ts, 12, 3))
>[[[null]],[undefined]] : null[][][]
>[[null]] : null[][]
>[null] : null[]
>null : null
>[undefined] : undefined[]
>undefined : undefined, Symbol(undefined)