如何在ES6类中定义静态属性

时间:2017-12-28 18:38:25

标签: javascript ecmascript-6 static es6-class

我想在ES6类中拥有静态属性。此属性值最初是一个空数组。

    class Game{

        constructor(){
           // this.cards = [];
        }

        static cards = [];
    }
    
    Game.cards.push(1);

    console.log(Game.cards);

我该怎么做?

2 个答案:

答案 0 :(得分:39)

class Game{
   constructor(){}
}
Game.cards = [];

Game.cards.push(1);
console.log(Game.cards);

你可以像这样定义一个静态变量。

答案 1 :(得分:36)

这样做的一种方式可能是这样的:

let _cards = [];
class Game{
    static get cards() { return _cards; }
}

然后你可以这样做:

Game.cards.push(1);
console.log(Game.cards);

您可以在此discussion中找到有关在es6中包含静态属性的一些有用的信息。