RatiboR1978
@RatiboR1978

Как прописать символ в конструкторе?

Добрый день! Не могу понять как прописать символ в конструкторе, подскажите пожалуйста.
Вот код: https://repl.it/Hpqy
Пример результата: AA-1419
  • Вопрос задан
  • 466 просмотров
Пригласить эксперта
Ответы на вопрос 1
@AntowaKartowa
В последнем комментарии дали реализацию соответствующую заданию. Символ присваивается в качестве значения статического свойства класса. BarcodeGenerator.prefix = Symbol();

А в вашей перавоначальной реализации во-первых this[prefix] не создает ничего. Если свойство не должно содержать изначально никаких значений, то принято создавать (инициализировать) свойство со значением null.

Потом вы создаете константу prefix внутри функции конструктора класса, а доступ получить к ней хотите в другой функции. Область видимости константы ограничена функцией. Нужно было так объявлять
this.prefixKey = Symbol();
this[this.prefixKey] = null;

Но тогда generator[BarcodeGenerator.prefix] = 'AA'; ничего не дает. В первоначальном варианте понадобился бы еще один метод для смены префикса в экземпляре класса. А это противоречит заданию
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы