46 votes

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?

57voto

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

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

Vous pouvez définir une variable statique comme ça.

53voto

margaretkru Points 1565

Une façon de le faire pourrait être comme ceci:

 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.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X