web-dev-qa-db-fra.com

comment définir une propriété statique dans les classes ES6

Je veux avoir une propriété statique dans une classe ES6. Cette valeur de propriété est initialement un tableau vide.

    class Game{

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

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

    console.log(Game.cards);

Comment puis-je le faire?

29
Amir Azarbashi

Une façon de le faire pourrait être la suivante:

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

Ensuite, vous pouvez faire:

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

Vous pouvez trouver quelques points utiles dans cette discussion sur l'inclusion de propriétés statiques dans es6.

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

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

Vous pouvez définir une variable statique comme celle-là.

42
zagoa