!!100 // true!!-1 // true!!0.1 // true!!"hello" // true!!true // true!!0 // false!!0.0 // false!!"" // false!!false // false!!null // false!!undefined // false!!NaN // false
Boolean(100) // trueBoolean(-1) // trueBoolean(0.1) // trueBoolean("Hello") // trueBoolean(true)Boolean(0) // falseBoolean(0.0) // falseBoolean("") // falseBoolean(false) // falseBoolean(null) // falseBoolean(undefined)// falseBoolean(NaN) // false
Doesn't work well for array and object
!!{name: 'Desmond'} // true!!['Desmond'] // true!!{} // true!![] // trueBoolean({name: 'Desmond'}) // trueBoolean(['Desmond']) // trueBoolean({}) // trueBoolean([]) // true