TypeScript/tests/baselines/reference/contextualTypingOfObjectLiterals.js

22 lines
516 B
TypeScript

//// [contextualTypingOfObjectLiterals.ts]
var obj1: { [x: string]: string; };
var obj2 = {x: ""};
obj1 = {}; // Ok
obj1 = obj2; // Error - indexer doesn't match
function f(x: { [s: string]: string }) { }
f({}); // Ok
f(obj1); // Ok
f(obj2); // Error - indexer doesn't match
//// [contextualTypingOfObjectLiterals.js]
var obj1;
var obj2 = { x: "" };
obj1 = {}; // Ok
obj1 = obj2; // Error - indexer doesn't match
function f(x) { }
f({}); // Ok
f(obj1); // Ok
f(obj2); // Error - indexer doesn't match