//// [computedPropertyNamesContextualType6_ES6.ts] interface I { [s: string]: T; } declare function foo(obj: I): T foo({ p: "", 0: () => { }, ["hi" + "bye"]: true, [0 + 1]: 0, [+"hi"]: [0] }); //// [computedPropertyNamesContextualType6_ES6.js] foo({ p: "", 0: () => { }, ["hi" + "bye"]: true, [0 + 1]: 0, [+"hi"]: [0] });