File: contextualTypingOfObjectLiterals.js

package info (click to toggle)
node-typescript 3.3.3333-1
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 324,548 kB
  • sloc: makefile: 6; sh: 3
file content (21 lines) | stat: -rw-r--r-- 516 bytes parent folder | download | duplicates (7)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
//// [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