Type Conversion
JavaScript can convert values between types — either explicitly (conversion) or automatically (coercion).
Explicit Conversion
// To String
String(42) // '42'
String(true) // 'true'
String(null) // 'null'
(42).toString() // '42'
// To Number
Number('42') // 42
Number(true) // 1
Number(false) // 0
Number(null) // 0
Number('') // 0
Number('abc') // NaN
// To Boolean
Boolean(1) // true
Boolean(0) // false
Boolean('') // false
Boolean('hello') // true
Boolean(null) // false
Implicit Coercion
'5' + 3 // '53' (+ prefers string concatenation)
'5' - 3 // 2 (- forces numbers)
'5' * '3' // 15 (* forces numbers)
true + 1 // 2
false + 1 // 1
null + 1 // 1
⚠️ Avoid implicit coercion
Implicit coercion makes code unpredictable. Always convert types explicitly when needed.