Javascript SpiderMonkey语法错误:缺少:属性ID后:

时间:2016-03-20 01:23:40

标签: javascript spidermonkey

我使用蜘蛛猴制作一个简单的控制台棋牌游戏。 但是我在枚举声明中不断收到错误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声明。

2 个答案:

答案 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”声明。