Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript SpiderMonkey语法错误:缺少:在属性id之后:_Javascript_Spidermonkey - Fatal编程技术网

Javascript SpiderMonkey语法错误:缺少:在属性id之后:

Javascript SpiderMonkey语法错误:缺少:在属性id之后:,javascript,spidermonkey,Javascript,Spidermonkey,我正在用蜘蛛猴做一个简单的控制台象棋游戏。 但是,在我的枚举声明中,在属性id:之后,我不断收到错误SyntaxError:missing: SyntaxError: missing : after property id: ChessPiece.js:4:5 var Color = { ChessPiece.js:4:5 ............^ 这是完整的代码 class ChessPiece { var Color = { WHITE : 'W',

我正在用蜘蛛猴做一个简单的控制台象棋游戏。 但是,在我的枚举声明中,在属性id:之后,我不断收到错误
SyntaxError:missing:

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声明。

我想枚举不能在类主体内定义。我能够在类定义之后添加它们

SyntaxError: missing : after property id:
ChessPiece.js:4:5      var Color = {
ChessPiece.js:4:5 ............^
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'
};

正确答案如下:

静态类端属性和原型数据属性必须是 在类主体声明之外定义


实例变量必须在构造函数中声明为“this”。

不是spidermonkey问题,这在任何javascript中都无效engine@JaromandaX那它是无效的呢?语法-虽然enum是一个保留字,但我找不到任何说明如何使用它的文档(MDN,ES2015)。。。更正文件将其作为未来保留keyword@JaromandaX我把我的语法改成了旧式。错误仍然存在。只是猜测一下,但对象中的键是否需要加引号?”白色。问题不在于枚举。看看我的答案。