我使用蜘蛛猴制作一个简单的控制台棋牌游戏。
但是我在枚举声明中不断收到错误SyntaxError: missing : after property id:
。
SyntaxError: missing : after property id:
ChessPiece.js:4:5 var Color = {
ChessPiece.js:4:5 ............^
下载完整的代码
class ChessPiece
{
var Color = {
WHITE : 'W',
BLACK : 'B'
};
var Piece = {
PAWN : 'P',
ROOK : 'R',
KNIGHT : 'N',
BISHOP : 'B',
QUEEN : 'Q',
KING : 'K'
};
constructor(color, piece)
{
this.color = color;
this.piece = piece;
}
toString()
{
return this.color + this.piece;
}
}
编辑:将枚举语法更新为var声明。
答案 0 :(得分:0)
我想枚举不能在类体内定义。我能够在课程定义之后添加它们。
class ChessPiece
{
constructor(color, piece)
{
this.color = color;
this.piece = piece;
}
toString()
{
return this.color + this.piece;
}
}
ChessPiece.Color = {
WHITE : 'W',
BLACK : 'B'
};
ChessPiece.Piece = {
PAWN : 'P',
ROOK : 'R',
KNIGHT : 'N',
BISHOP : 'B',
QUEEN : 'Q',
KING : 'K'
};
答案 1 :(得分:0)
正确的答案在这里:
js classes instance properties
静态类侧属性和原型数据属性必须为 在ClassBody声明之外定义的
实例var必须在构造函数中用“ this”声明。