0
打字稿2版本之前我用枚舉轉換爲字符串通過以下方式:與生成以下錯誤打字稿的新版本不能枚舉轉換爲字符串打字稿2
public myFunction(myEnum: MyEnum): string {
return MyEnum[myEnum];
}
現在:索引表達式參數必須是「字符串」,「數字」,「符號」或「任何」類型。
你知道我該如何解決這個問題嗎?
打字稿2版本之前我用枚舉轉換爲字符串通過以下方式:與生成以下錯誤打字稿的新版本不能枚舉轉換爲字符串打字稿2
public myFunction(myEnum: MyEnum): string {
return MyEnum[myEnum];
}
現在:索引表達式參數必須是「字符串」,「數字」,「符號」或「任何」類型。
你知道我該如何解決這個問題嗎?
我相信你所得到的錯誤是,您聲明myFunction
返回一個字符串,但它實際上不返回任何東西......
public myFunction(myEnum: MyEnum): string {
console.log(MyEnum[myEnum]);
}
修復它通過返回值...
public myFunction(myEnum: MyEnum): string {
return MyEnum[myEnum];
}
或者改變返回類型...
public myFunction(myEnum: MyEnum): void{
console.log(MyEnum[myEnum]);
}
全長E xample顯示事情仍然有效。
enum Example {
Red,
Blue,
Green
}
alert(Example[Example.Red]);
function myFunction(myEnum: Example): string {
return(Example[myEnum]);
}
alert(myFunction(Example.Blue));
感謝您的回覆。這是我的錯,我發佈了不正確的代碼。事實上,這不是問題。它與此公告相關:https://blogs.msdn.microsoft.com/typescript/2016/08/30/announcing-typescript-2-0-rc/,但我不知道如何解決它。我有相同的代碼,它用TypeScript 1.9編譯時沒有錯誤,並且在以後的TypeScript中有錯誤 – Vasil