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
|
=== tests/cases/conformance/interfaces/declarationMerging/mergedInterfacesWithIndexers.ts ===
// indexers should behave like other members when merging interface declarations
interface A {
[x: number]: string;
>x : number
}
interface A {
[x: string]: { length: number };
>x : string
>length : number
}
var a: A;
>a : A
var r = a[1];
>r : string
>a[1] : string
>a : A
>1 : 1
var r2 = a['1'];
>r2 : string
>a['1'] : string
>a : A
>'1' : "1"
var r3 = a['hi'];
>r3 : { length: number; }
>a['hi'] : { length: number; }
>a : A
>'hi' : "hi"
|