Type Conversion — Implicit vs Explicit
JavaScript is a dynamically typed language, which means it often converts types automatically (implicit coercion). Sometimes that's helpful. Other times it's a source of head-scratching bugs. You can also convert types explicitly using built-in functions.
Explicit Boolean Conversion
console.log(Boolean(1));
console.log(Boolean(0));
console.log(Boolean("hello"));
console.log(Boolean(""));
Try it Yourself →
Explicit String Conversion
console.log(String(123));
console.log(String(true));
console.log(String(null));
console.log(String(undefined));
Try it Yourself →
Explicit Number Conversion
console.log(Number("123"));
console.log(Number("12.5"));
console.log(Number("hello"));
console.log(Number(true));
console.log(Number(false));
Try it Yourself →
Implicit Arithmetic Coercion
console.log("5" - 2);
console.log("5" * "3");
console.log("10" / 2);
console.log("5" + 2); // Watch out! + is string concatenation
Try it Yourself →
Pro tip: use + on a string to convert it to a number: +"5" gives 5.