2
0
mirror of https://github.com/chubin/cheat.sheets synced 2024-11-15 06:12:59 +00:00
cheat.sheets/sheets/_js/weirdness
Ata Özdamar 467332fffa
Add to weirdness
In javascript there error about calculation on decimal numbers. I  was add one of them.
2021-05-31 21:35:28 +03:00

50 lines
1.0 KiB
Plaintext

// Nothing is weird here, if you think a little bit more about it
// but it seems to be
// Null is an Object
typeof null // => 'object'
// Weird decimal calculation
0.1 + 0.2 // -> 0.30000000000000004
// Despite this, null is not an instance of an Object
null instanceof Object // => false
// "string" is not an instance of String
"string" instanceof String
// NaN is a number
typeof NaN // -> 'Number'
// NaN is not considered equal to itself
NaN === NaN // -> false
// Array With No Keys == False
new Array() == false // -> true
// big integer numbers
9999999999999999 // -> 10000000000000000
//
[]+[] // -> ""
[]+{} // -> "[object Object]"
{}+[] // -> "{}+[]"
{}+{} // -> NaN
// Comparisons
3>2>1 // -> false
// Boolean arithmetic
true+true===2 // -> true
true-true===0 // -> true
true===1 // -> false
// Something really strange
(!+[]+[]+![]).length // -> 9
// because:
// +[] -> 0
// !+[] -> true
// !+[]+[] -> 'true'
// etc.