![](/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.