forked from microsoft/TypeScript
/
noImplicitAnyStringIndexerOnObject.types
92 lines (76 loc) · 2.22 KB
/
noImplicitAnyStringIndexerOnObject.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
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
=== tests/cases/compiler/noImplicitAnyStringIndexerOnObject.ts ===
var a = {}["hello"];
>a : any
>{}["hello"] : any
>{} : {}
>"hello" : "hello"
var b: string = { '': 'foo' }[''];
>b : string
>{ '': 'foo' }[''] : string
>{ '': 'foo' } : { '': string; }
>'' : string
>'foo' : "foo"
>'' : ""
var c = {
>c : { get: (key: string) => string; }
>{ get: (key: string) => 'foobar'} : { get: (key: string) => string; }
get: (key: string) => 'foobar'
>get : (key: string) => string
>(key: string) => 'foobar' : (key: string) => string
>key : string
>'foobar' : "foobar"
};
c['hello'];
>c['hello'] : any
>c : { get: (key: string) => string; }
>'hello' : "hello"
const foo = c['hello'];
>foo : any
>c['hello'] : any
>c : { get: (key: string) => string; }
>'hello' : "hello"
var d = {
>d : { set: (key: string) => string; }
>{ set: (key: string) => 'foobar'} : { set: (key: string) => string; }
set: (key: string) => 'foobar'
>set : (key: string) => string
>(key: string) => 'foobar' : (key: string) => string
>key : string
>'foobar' : "foobar"
};
const bar = d['hello'];
>bar : any
>d['hello'] : any
>d : { set: (key: string) => string; }
>'hello' : "hello"
var e = {
>e : { set: (key: string) => string; get: (key: string) => string; }
>{ set: (key: string) => 'foobar', get: (key: string) => 'foobar'} : { set: (key: string) => string; get: (key: string) => string; }
set: (key: string) => 'foobar',
>set : (key: string) => string
>(key: string) => 'foobar' : (key: string) => string
>key : string
>'foobar' : "foobar"
get: (key: string) => 'foobar'
>get : (key: string) => string
>(key: string) => 'foobar' : (key: string) => string
>key : string
>'foobar' : "foobar"
};
e['hello'] = 'modified';
>e['hello'] = 'modified' : "modified"
>e['hello'] : any
>e : { set: (key: string) => string; get: (key: string) => string; }
>'hello' : "hello"
>'modified' : "modified"
e['hello'] += 1;
>e['hello'] += 1 : any
>e['hello'] : any
>e : { set: (key: string) => string; get: (key: string) => string; }
>'hello' : "hello"
>1 : 1
e['hello'] ++;
>e['hello'] ++ : number
>e['hello'] : any
>e : { set: (key: string) => string; get: (key: string) => string; }
>'hello' : "hello"