Вопрос проверяет понимание неявного приведения типов в JavaScript и разницы между операторами вычитания и сложения.
В JavaScript оператор вычитания (-) всегда ожидает числовые операнды. Когда один из операндов является строкой, движок JavaScript автоматически преобразует её в число перед выполнением операции. Это называется неявным приведением типов (type coercion).
Понимание этого механизма помогает избежать неожиданных ошибок в коде. Например, оператор сложения (+) ведёт себя иначе: если один из операндов — строка, он выполняет конкатенацию, а не сложение. Вычитание же всегда стремится к числовому результату.
console.log("4" - 2); // 2
console.log("10" - "5"); // 5
console.log("abc" - 3); // NaN (строка не может быть преобразована в число)
console.log("4" + 2); // "42" (конкатенация, а не сложение)Неявное приведение типов упрощает написание кода, но требует осторожности. Всегда проверяйте типы данных, особенно при работе с пользовательским вводом, чтобы избежать неожиданных результатов, таких как NaN.
Frontend developer
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию