Я не могу прокомментировать ваш ответ на данный момент, поэтому вот дополнение:
class player {
constructor(name){
this.name = name;
PLAYERS.push(this);
}
}
ПОЖАЛУЙСТА: имейте в виду, что в этих нескольких строках есть много ужасных практик, вы не должны связывать конструктор с переменной, которая может или не может быть инициализирована где-то еще, вмешиваясь в конструктор с тем, что внешнее просто ужасно. Также классы обычно имеют титульный регистр.
Плюс в качестве примечания, хотя реально, что вы можете изменять свойства consts при сохранении ссылки, поэтому вы можете помещать объекты в массив, объявленный как const, на самом деле он не складывается как самодокументируемый код, поэтому, если вы собираетесь изменить этот массив, просто объявите его с помощью «let» с самого начала.