Что напечатает консоль в примере №14

Консоль выведет строку «33». Оператор + при наличии строкового операнда выполняет конкатенацию, поэтому число 3 преобразуется в строку.

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

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

Консоль выведет строку «33». Оператор + при наличии строкового операнда выполняет конкатенацию, поэтому число 3 преобразуется в строку.

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

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

Условие

Определите, какой результат появится в консоли при выполнении следующего кода:

(function foo() {
  let strNum = "3";
  let num = 3;
  console.log(strNum + num);
})();

Ответ

Консоль выведет строку «33». Оператор + при наличии строкового операнда выполняет конкатенацию, поэтому число 3 преобразуется в строку.

IIFE только создаёт локальную область и сразу выполняет функцию; на правила оператора + она не влияет. Тип strNum — string, тип num — number.

Чтобы получить число 6, нужно явно преобразовать первый операнд: Number(strNum) + num. Унарный плюс +strNum также даёт число для этой строки, но для произвольного пользовательского ввода преобразование может вернуть NaN. Внешний вид вывода консоли не всегда показывает кавычки, поэтому тип проверяют через typeof.

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

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

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

Подробнее