我正在尝试定义一种类似于字典的类型。我无法弄清楚如何让Typescript编译器严格检查键类型。
var map: {[hello:number]: string} = {}
// I get the same results if I declare: var map: string[] = []
map[1.1] = "hello";
map[1.1] = 1.1; // error (as expected)
map["hello"] = "hello"; // missing error on key
map["hello"] = 1.1; // missing error on key
var s2: string = map[1.1];
var i2: number = map[1.1]; // error (as expected)
var s1: string = map["hello"]; // missing error on key
var i1: number = map["hello"]; // missing error on key
我在使用Typescript 1.5.3和1.6.0-beta时得到了相同的结果。