Преобразование типа
Преобразование типов — это когда мы вручную преобразуем один тип в другой.
JavaScript может преобразовывать только в три типа: число, строку, логическое значение (истинные и ложные значения).
// Converting to Number Data Type : Number()
const inputYear = "1991";
console.log(Number(inputYear), inputYear);
console.log(inputYear + 18); //199118
console.log(Number(inputYear) + 18); //2009
// What would happen when we try to convert not-a-number data to Number Data type?
console.log(Number("Jonas")); //NaN
console.log(typeof NaN); //(invalid)number
// Converting to String Data Type: String()
console.log(String(23), 23);
Приведение типов
С другой стороны, приведение типов — это когда JavaScript автоматически преобразует типы за кулисами для нас.
// <type coercion>
console.log("I am " + 23 + " years old"); //I am 23 years old
console.log("23" - "10" - 3); //10
console.log("24" / "2"); //12
let n = "1" + 1; //'11'
n = n - 1;
console.log(n); //10
В JavaScript оператор «плюс» запускает приведение к строкам.
Напротив, оператор «минус» фактически запускает обратное преобразование строк в числа.
из моего конспекта лекции "Полный курс JavaScript".