Typescript Neo One智能合约中是否有枚举?
是否有可能在neo one智能合约中使用枚举? 我试图声明枚举,但出现以下错误: 我是这样宣布的:Typescript Neo One智能合约中是否有枚举?,typescript,enums,smartcontracts,Typescript,Enums,Smartcontracts,是否有可能在neo one智能合约中使用枚举? 我试图声明枚举,但出现以下错误: 我是这样宣布的: enum testEnum{ a, b, c, } export class Token extends SmartContract { private t: testEnum = testEnum.a; } 似乎并非所有的typescript类型都受支持,或者我声明它是错误的。NEO•ONE typescript智能合约编译器实际上当前不支持枚举,这就是为什么会出现该错误。
enum testEnum{
a,
b,
c,
}
export class Token extends SmartContract {
private t: testEnum = testEnum.a;
}
似乎并非所有的typescript类型都受支持,或者我声明它是错误的。NEO•ONE typescript智能合约编译器实际上当前不支持枚举,这就是为什么会出现该错误。当编译器运行到枚举声明时(通过
enum
关键字),它只会报告一个不受支持的语法错误。所以我建议只使用一个简单的JS“对象”来完成同样的事情。像这样:
const testEnum = {
a: 'a',
b: 'b',
c: 'c',
};
它似乎是有效的TypeScript语法-您的项目使用的是哪个版本的TypeScript?它是TypeScript 4.1.2,它似乎是一种常规语法,但当我尝试使用“一次构建”部署契约时,出现了这个错误