Преобразование типа

Преобразование типов — это когда мы вручную преобразуем один тип в другой.

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".