//// [genericWithIndexerOfTypeParameterType1.ts] class LazyArray { private objects = <{ [objectId: string]: T; }>{}; array() { return this.objects; } } var lazyArray = new LazyArray(); var value: string = lazyArray.array()["test"]; // used to be an error //// [genericWithIndexerOfTypeParameterType1.js] var LazyArray = (function () { function LazyArray() { this.objects = {}; } LazyArray.prototype.array = function () { return this.objects; }; return LazyArray; })(); var lazyArray = new LazyArray(); var value = lazyArray.array()["test"]; // used to be an error