Convert types explicitly to avoid confusion:
Number("42") // 42
Number("hello") // NaN
Number(true) // 1
Number(false) // 0
String(42) // "42"
String(true) // "true"
Boolean(1) // true
Boolean(0) // false
Boolean("") // false
Boolean("hi") // true
Explicit conversion makes your intentions clear. When reading code, you know exactly what type you're working with.