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 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95
|
=== tests/cases/compiler/noImplicitAnyForIn.ts ===
var x: {}[] = [[1, 2, 3], ["hello"]];
>x : {}[]
>[[1, 2, 3], ["hello"]] : (number[] | string[])[]
>[1, 2, 3] : number[]
>1 : 1
>2 : 2
>3 : 3
>["hello"] : string[]
>"hello" : "hello"
for (var i in x) {
>i : string
>x : {}[]
for (var j in x[i]) {
>j : string
>x[i] : {}
>x : {}[]
>i : string
//Should yield an implicit 'any' error
var _j = x[i][j];
>_j : any
>x[i][j] : any
>x[i] : {}
>x : {}[]
>i : string
>j : string
}
for (var k in x[0]) {
>k : string
>x[0] : {}
>x : {}[]
>0 : 0
var k1 = x[0];
>k1 : {}
>x[0] : {}
>x : {}[]
>0 : 0
//Should yield an implicit 'any' error
var k2 = k1[k];
>k2 : any
>k1[k] : any
>k1 : {}
>k : string
}
}
for (var a in x) {
>a : string
>x : {}[]
// Should yield an implicit 'any' error.
var b;
>b : any
var c = a || b;
>c : string
>a || b : string
>a : string
>b : undefined
}
var idx = 0;
>idx : number
>0 : 0
var m = [1, 2, 3, 4, 5];
>m : number[]
>[1, 2, 3, 4, 5] : number[]
>1 : 1
>2 : 2
>3 : 3
>4 : 4
>5 : 5
// Should yield an implicit 'any' error.
var n = [[]] || [];
>n : any[][]
>[[]] || [] : undefined[][]
>[[]] : undefined[][]
>[] : undefined[]
>[] : undefined[]
for (n[idx++] in m);
>n[idx++] : any[]
>n : any[][]
>idx++ : number
>idx : number
>m : number[]
|