Type coercion

Приведение типов (type coercion) - это автоматическое или неявное преобразование значений из одного типа данных в другой (например, строки в число). Преобразование типа похоже на приведение типа, потому что они оба преобразуют значения из одного типа данных в другой с одним ключевым различием — приведение типа является неявным, тогда как преобразование типа может быть неявным или явным.

Примеры

const value1 = '5';
const value2 = 9;
let sum = value1 + value2;

console.log(sum);

В приведённом выше примере JavaScript приводит число 9 в строку, а затем объединяет два значения вместе, в результате получается строка 59. JavaScript имел выбор между строкой или числом и решил использовать строку.

Компилятор мог привести строку 5 к числу и вернуть сумму 14, но он этого не сделал. Чтобы получить этот результат, вам нужно явно преобразовать строку 5 в число, используя метод Number():

sum = Number(value1) + value2;