- true + false
- [,,,].length
- [1, 2, 3] + [4, 5, 6]
- 0.2 + 0.1 === 0.3
- 10,2
- !!””
- +!![]
- !!!true
- true == “true”
- 010 - 03
- “” - - “”
- null + 0
- 0/0
- 1/0 > Math.pow(10, 1000)
- true++
- “” - 1
- (null - 0) + “0”
- true + (“true” - 0)
- !5 + !5
- [] + []
- NaN === NaN
- NaN++
- undefined + false
- +0 === -0
- +!!NaN * “” - - [,]
https://jsisweird.com/
true + false
Number(true); // -> 1
Number(false); // -> 0
1 + 0; // -> 1
[,,,].length
[,] + [,]; // -> ""
[] + [] === [,] + [,]; // -> true
[,,,] + [,,,]; // -> ",,,,"
([,,,] + [,,,]).length === [,,,,].length; // -> true
[1, 2, 3] + [4, 5, 6]
[1, 2, 3,] + [4, 5, 6]; // -> "1,2,34,5,6"
[1, 2, 3] + [, 4, 5, 6]; // -> "1,2,3,4,5,6"
[1, 2, 3, ""] + [4, 5, 6]; // -> "1,2,3,4,5,6"
[...[1, 2, 3], ...[4, 5, 6]];
0.2 + 0.1 === 0.3
0.2 + 0.1; // -> 0.30000000000000004;
0.2 + 0.1 > 0.3; // -> true
10,2
10, 2; // -> 2
1, 2, 3, 4; // -> 4
42, "pineapple", true; // -> true
!!””
Boolean(""); // -> false
Boolean(0); // -> false
Boolean("Pineapple"); // -> true
Boolean(42); // -> true
+!![]
Boolean([]); // -> true
Number(true); // -> 1
!!!true
!!!!!!!!!!!!true; // -> true
true == “true”
Number(true); // -> 1
Number("true"); // -> NaN
1 == NaN; // -> false
010 - 03
010; // -> 8
03; // -> 3
8 - 3; // -> 5
01111111111111111; // -> 40210710958665
010 === 0000000010; // -> true
“” - - “”
Number(""); // -> 0
0 - - 0; // -> 0
+"" - -"";
+0 - -0;
- -""; // -> 0
--""; // -> SyntaxError
null + 0
Number(null); // -> 0
0 + 0; // -> 0
null === false; // -> false
+null === +false; // -> true
0/0
isNaN(0/0); // -> true
1/0 > Math.pow(10, 1000)
1/0; // -> Infinity
Math.pow(10, 1000); // -> Infinity
Infinity > Infinity; // -> false
true++
1++; // -> SyntaxError
"x"++; // -> SyntaxError
undefined++; // -> NaN
let _true = true;
_true++;
_true; // -> 2
“” - 1
Number(""); // -> 0
0 - 1; // -> -1;
" " - 1; // -> -1;
"" + 1; // -> "1";
(null - 0) + “0”
Number(null) - 0; // -> 0
0 + "0"; // -> "00"
(null - 0) - "0"; // -> 0
true + (“true” - 0)
Number("true"); // -> NaN
!5 + !5
Boolean(5); // -> true
!true; // -> false
Number(false); // -> 0
0 + 0; // -> 0
[] + []
[].toString(); // -> ""
"" + ""; // -> ""
[] + [] === [,] + [,]; // -> true
[].length; // -> 0
[,].length; // -> 1
[].toString() === [,].toString(); // -> true
Number([]) === Number([,]); // -> true
NaN === NaN
isNaN(NaN); // -> true
NaN === NaN; // -> false
Object.is(NaN, NaN); // -> true
NaN++
let _NaN = NaN;
_NaN++;
isNaN(_NaN); // -> true
_NaN--;
isNaN(_NaN); // -> true
_NaN *= 10;
isNaN(_NaN); // -> true
undefined + false
Number(false); // -> 0
Number(undefined); // -> NaN
NaN + 0; // -> NaN
!!undefined === false; // -> true
!!undefined + false; // -> 0
+0 === -0
+0 === -0; // -> true
Object.is(+0, -0); // -> false
+!!NaN * “” - - [,]
+!!NaN; // -> 0
Number(""); // -> 0
-[,]; // -> -0
0 * 0 - -0; // -> 0