Typescript编译器抱怨索引表达式不是数字

时间:2016-07-29 12:26:07

标签: typescript visual-studio-2015

我有这个TypeScript代码:

namespace MyNamespace {

    // This map can be used to convert a rank to a character
    let rank_to_char_map = ['', '', '2', '3'];

    export class Card {
        private _rank: Number;

        constructor() {
                this._rank = 3;
        }

        toString(): String {
            return rank_to_char_map[this._rank];
        }
    }
}

Visual Studio突出显示toString函数中代码行的错误,该函数读取" TS2342索引表达式参数必须是' string',' number', '符号'或者'任何'。"。但是你可以看到this._rank确实是Number的类型。

当我保存文件时,会创建一个带有预期结果的javascript文件:

Card.prototype.toString = function () {
    return rank_to_char_map[this._rank];
};

我错过了什么吗?

(我是TypeScript的新手)

0 个答案:

没有答案