https://stackoverflow.com/questions/784929/what-is-the-not-not-operator-in-javascript

https://stackoverflow.com/questions/29312123/how-does-the-double-exclamation-work-in-javascript

 value

 !value

 !!value

 false

 true

false 

 true

false 

 true

 null

true 

false 

 undefined

true 

false 

 0

true 

false 

 -0

true 

false 

 1

false

true 

 -5

false 

true 

 NaN

true 

false 

 ''

true 

false 

 ‘hello’

true 

false