typeof(NaN) == 'number'
'Not a Number'but as you can see it is a
nullis a value that isn't anything.
undefinedis a value that isn't even that.
A variable can be both defined and have a value of undefined at the same time.
boolean("0") = true
boolean("false") = true
+"42" = 42
All of the above have been taken from the following video tutorial.