Что выведет код Junior Прототипы и классы обновлено
Статические поля
Вопрос
Что выведет код? По строке на каждый вывод.
class Counter {
static total = 0;
constructor() { Counter.total++; }
}
new Counter(); new Counter();
console.log(Counter.total);
const c = new Counter();
console.log(c.total);
console.log(Counter.total);
Попробуйте сами
Напишите, что выведет код: каждый вывод с новой строки.
Показать ответ и разбор
Коротко
Код выведет: 2, undefined, 3. Почему так Статика живёт на самом классе; экземпляр её не видит через this.
Что выведет
2
undefined
3
Разбор
Почему так
Статика живёт на самом классе; экземпляр её не видит через this. Обращаться нужно по имени класса или через this.constructor.
Вывод
2
undefined
3
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.