المعرفة:: JavaScript الحالة::مؤرشفة المراجع:: https://developer.mozilla.org/en-US/docs/Glossary/Type_coercion, The Complete JavaScript Course 2022 From Zero to Expert


Conversion

JavaScript can only convert three types:

  • Numbers
  • Strings
  • Boolean

It can’t convert something to undefined or null.

const year = "1999"; // string
const yearNum = Number(year); // number
console.log(+"23"); // 23
console.log(Number("Name")); // NaN
console.log(typeof NaN); // number? Weirdo JS
const yearString = String(yearNum); // string

Coercion

console.log(`I am ${24} years old`); // number was converted to string
const str = number + ""; // converts number to a string
console.log("23" + "10" + 3); // = 23103, numbers were converted to strings and concatenated
console.log("23" - "10" - 3); // = 10, strings were converted to numbers
console.log("23" * "2"); // = 46, strings were converted to numbers
console.log("23" / "2"); // = 11.5, strings were converted to numbers