Примусове приведення типів

Примусове приведення типів (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;