Что покажет консоль после инкрементации переменной

Консоль выведет 2, затем 3. Числа — примитивы: присваивание y = x копирует значение, а увеличение y не меняет переменную x.

Короткий ответ

Что ответить на собеседовании

Консоль выведет 2, затем 3. Числа — примитивы: присваивание y = x копирует значение, а увеличение y не меняет переменную x.

Подробный разбор

Ответ с пояснениями

Условие

Определите, какие значения появятся в выводе консоли после выполнения кода.

var x = 2
var y = x
y++
console.log(x) // ??
console.log(y) // ??

Ответ

Консоль выведет 2, затем 3. Числа — примитивы: присваивание y = x копирует значение, а увеличение y не меняет переменную x.

После var x = 2 и var y = x обе переменные содержат число 2 независимо. Постфиксный y++ записывает в y число 3; возвращаемое старое значение здесь нигде не используется. При объекте две переменные могли бы разделять ссылку на один объект, но к числовым примитивам эта модель неприменима.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее