Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про JavaScript: type coercion, implicit conversion, addition operator, string concatenation

Должны ли операнды при сложении быть одного типа?

Проверяет понимание приведения типов в JavaScript при использовании оператора сложения.

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

Нет, операнды при сложении не обязаны быть одного типа. JavaScript автоматически приводит их к одному типу. Если один из операндов — строка, то другой преобразуется в строку и происходит конкатенация. В остальных случаях оба операнда преобразуются в числа и выполняется математическое сложение.

Длинный ответ

Приведение типов при сложении в JavaScript

В JavaScript оператор + выполняет две разные операции: математическое сложение и конкатенацию строк. Выбор операции зависит от типов операндов. Если хотя бы один операнд является строкой, то оба преобразуются в строки и объединяются. В противном случае оба операнда преобразуются в числа и складываются.

Примеры

console.log(1 + 2); // 3 (числовое сложение)
console.log('1' + 2); // '12' (конкатенация)
console.log(1 + '2'); // '12' (конкатенация)
console.log(true + false); // 1 (true=1, false=0)
console.log(null + 1); // 1 (null=0)
console.log(undefined + 1); // NaN (undefined=NaN)

Порядок преобразования

JavaScript сначала проверяет, есть ли строка среди операндов. Если да — все преобразуется в строки. Если нет — все преобразуется в числа. Это может приводить к неожиданным результатам, особенно с объектами, которые преобразуются через valueOf или toString.

Вывод

Понимание неявного приведения типов важно для написания предсказуемого кода. Рекомендуется явно преобразовывать типы с помощью Number(), String() или Boolean(), чтобы избежать ошибок.

  • Аватар

    Python Guru

    Sergey Filichkin

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.

Уровень

  • Рейтинг:

    4

  • Сложность:

    2

Навыки

  • JavaScript

    JavaScript

Ключевые слова

#type coercion

#implicit conversion

#addition operator

#string concatenation

Подпишись на Python Developer в телеграм

  • Аватар

    Python Guru

    Sergey Filichkin

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.