为什么这在typescript中是非法的?interface numarr { [i : number] : number; } var p : numarr = [3,6,8]; 编译器说“不能将数字”[]转换为“NUMARR”。恐怕我误解了一些很基本的东西。我认为上面接口的目的是描述一个由数字索引的数字数组,这正是[3,6,8]的含义。 最佳答案 如果我没搞错的话,你也可以使用下面的语法。var arr : number[] = [3, 6, 8];