![](/img/trans.png)
[英]Javascript ES6(ES2015)/ Typescript: how to access local method inside static method
[英]Can you access local static variables within local method in TypeScript?
可以說我有一個像下面這樣的課程:
class Types
{
static TypeOne = 1;
static TypeTwo = 2;
static TypeThree = 3;
static TypeFour = 4;
static TypeFive = 5;
public GetNameFromType(type: number) : string
{
switch (type)
{
case Types.TypeOne: return "TypeOne";
case Types.TypeTwo: return "TypeTwo";
case Types.TypeThree: return "TypeThree";
case Types.TypeFour: return "TypeFour";
case Types.TypeFive: return "TypeFive";
default: return "Unknown";
}
}
}
現在,在閱讀了有關靜態類的一些文檔之后,以上內容似乎應該可以工作了。 但是我總是收到錯誤消息,說Types.TypeOne在當前作用域中不存在。
那么,我是否需要做其他事情還是應該工作?
==編輯==
我不認為由於錯誤,它沒有為它輸出任何東西,但是看起來它有,這是輸出:
var Types = (function () {
function Types() { }
Types.TypeOne = 1;
Types.TypeTwo = 2;
Types.TypeThree = 3;
Types.TypeFour = 4;
Types.TypeFive = 5;
Types.TypeSix = 6;
Types.prototype.GetNameFromType = function (type) {
switch(type) {
case AbilityTypes.TypeOne:
return "TypeOne";
case AbilityTypes.TypeTwo:
return "TypeTwo";
case AbilityTypes.TypeThree:
return "TypeThree";
case AbilityTypes.TypeFour:
return "TypeFour";
case AbilityTypes.TypeFive:
return "TypeFive";
case AbilityTypes.TypeSix:
return "TypeSix";
default:
return "Unknown";
}
};
return Types;
})();
這看起來合法,所以也許它正在工作並且只是在抱怨...
您正在使用Typescript 0.8.3嗎? 您的代碼對我來說很好。 如果錯誤發生在其他地方,請嘗試將其定義為“公共靜態”
將該代碼粘貼到Playground( http://www.typescriptlang.org/playground )中對我來說沒有任何錯誤或警告,並且它與MSI的運行速度相同,為0.8.3位。 如果您僅通過此代碼看到錯誤,我將卸載/重新安裝,因為除非這是一個較大的項目的一部分並且該錯誤發生在其他地方,那么似乎安裝中的某些內容一定不可行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.