CoffeeScript（JavaScript）メモ（Infinity と NaN ど忘れ編）

- （追記）
    - -0, -1, undefined, null
    - **

```coffeescript
vals =
  "0"        : 0
  "-0"       : -0
  "1"        : 1
  "-1"       : -1
  "NaN"      : NaN
  "Infinity" : Infinity
  "-Infinity": -Infinity
  "undefined": undefined
  "null"     : null

ops =
  "+"   : (x, y) -> x + y
  "-"   : (x, y) -> x - y
  "*"   : (x, y) -> x * y
  "/"   : (x, y) -> x / y
  "%"   : (x, y) -> x % y
  "**"  : (x, y) -> x ** y
  "and" : (x, y) -> x and y
  "or"  : (x, y) -> x or y
  "is"  : (x, y) -> x is y
  "isnt": (x, y) -> x isnt y
  "=="  : (x, y) -> x == y
  "!="  : (x, y) -> x != y
  "<"   : (x, y) -> x < y

for k, v of vals
  console.log "not #{k} : #{not v}"

for op, f of ops
  for s, x of vals
    for t, y of vals
      console.log "#{s} #{op} #{t} : #{f(x, y)}"
```

結果↓

```
not 0 : true
not 1 : false
not -0 : true
not -1 : false
not NaN : true
not Infinity : false
not -Infinity : false
not undefined : true
not null : true
0 + 0 : 0
0 + 1 : 1
0 + -0 : 0
0 + -1 : -1
0 + NaN : NaN
0 + Infinity : Infinity
0 + -Infinity : -Infinity
0 + undefined : NaN
0 + null : 0
1 + 0 : 1
1 + 1 : 2
1 + -0 : 1
1 + -1 : 0
1 + NaN : NaN
1 + Infinity : Infinity
1 + -Infinity : -Infinity
1 + undefined : NaN
1 + null : 1
-0 + 0 : 0
-0 + 1 : 1
-0 + -0 : 0
-0 + -1 : -1
-0 + NaN : NaN
-0 + Infinity : Infinity
-0 + -Infinity : -Infinity
-0 + undefined : NaN
-0 + null : 0
-1 + 0 : -1
-1 + 1 : 0
-1 + -0 : -1
-1 + -1 : -2
-1 + NaN : NaN
-1 + Infinity : Infinity
-1 + -Infinity : -Infinity
-1 + undefined : NaN
-1 + null : -1
NaN + 0 : NaN
NaN + 1 : NaN
NaN + -0 : NaN
NaN + -1 : NaN
NaN + NaN : NaN
NaN + Infinity : NaN
NaN + -Infinity : NaN
NaN + undefined : NaN
NaN + null : NaN
Infinity + 0 : Infinity
Infinity + 1 : Infinity
Infinity + -0 : Infinity
Infinity + -1 : Infinity
Infinity + NaN : NaN
Infinity + Infinity : Infinity
Infinity + -Infinity : NaN
Infinity + undefined : NaN
Infinity + null : Infinity
-Infinity + 0 : -Infinity
-Infinity + 1 : -Infinity
-Infinity + -0 : -Infinity
-Infinity + -1 : -Infinity
-Infinity + NaN : NaN
-Infinity + Infinity : NaN
-Infinity + -Infinity : -Infinity
-Infinity + undefined : NaN
-Infinity + null : -Infinity
undefined + 0 : NaN
undefined + 1 : NaN
undefined + -0 : NaN
undefined + -1 : NaN
undefined + NaN : NaN
undefined + Infinity : NaN
undefined + -Infinity : NaN
undefined + undefined : NaN
undefined + null : NaN
null + 0 : 0
null + 1 : 1
null + -0 : 0
null + -1 : -1
null + NaN : NaN
null + Infinity : Infinity
null + -Infinity : -Infinity
null + undefined : NaN
null + null : 0
0 - 0 : 0
0 - 1 : -1
0 - -0 : 0
0 - -1 : 1
0 - NaN : NaN
0 - Infinity : -Infinity
0 - -Infinity : Infinity
0 - undefined : NaN
0 - null : 0
1 - 0 : 1
1 - 1 : 0
1 - -0 : 1
1 - -1 : 2
1 - NaN : NaN
1 - Infinity : -Infinity
1 - -Infinity : Infinity
1 - undefined : NaN
1 - null : 1
-0 - 0 : 0
-0 - 1 : -1
-0 - -0 : 0
-0 - -1 : 1
-0 - NaN : NaN
-0 - Infinity : -Infinity
-0 - -Infinity : Infinity
-0 - undefined : NaN
-0 - null : 0
-1 - 0 : -1
-1 - 1 : -2
-1 - -0 : -1
-1 - -1 : 0
-1 - NaN : NaN
-1 - Infinity : -Infinity
-1 - -Infinity : Infinity
-1 - undefined : NaN
-1 - null : -1
NaN - 0 : NaN
NaN - 1 : NaN
NaN - -0 : NaN
NaN - -1 : NaN
NaN - NaN : NaN
NaN - Infinity : NaN
NaN - -Infinity : NaN
NaN - undefined : NaN
NaN - null : NaN
Infinity - 0 : Infinity
Infinity - 1 : Infinity
Infinity - -0 : Infinity
Infinity - -1 : Infinity
Infinity - NaN : NaN
Infinity - Infinity : NaN
Infinity - -Infinity : Infinity
Infinity - undefined : NaN
Infinity - null : Infinity
-Infinity - 0 : -Infinity
-Infinity - 1 : -Infinity
-Infinity - -0 : -Infinity
-Infinity - -1 : -Infinity
-Infinity - NaN : NaN
-Infinity - Infinity : -Infinity
-Infinity - -Infinity : NaN
-Infinity - undefined : NaN
-Infinity - null : -Infinity
undefined - 0 : NaN
undefined - 1 : NaN
undefined - -0 : NaN
undefined - -1 : NaN
undefined - NaN : NaN
undefined - Infinity : NaN
undefined - -Infinity : NaN
undefined - undefined : NaN
undefined - null : NaN
null - 0 : 0
null - 1 : -1
null - -0 : 0
null - -1 : 1
null - NaN : NaN
null - Infinity : -Infinity
null - -Infinity : Infinity
null - undefined : NaN
null - null : 0
0 * 0 : 0
0 * 1 : 0
0 * -0 : 0
0 * -1 : 0
0 * NaN : NaN
0 * Infinity : NaN
0 * -Infinity : NaN
0 * undefined : NaN
0 * null : 0
1 * 0 : 0
1 * 1 : 1
1 * -0 : 0
1 * -1 : -1
1 * NaN : NaN
1 * Infinity : Infinity
1 * -Infinity : -Infinity
1 * undefined : NaN
1 * null : 0
-0 * 0 : 0
-0 * 1 : 0
-0 * -0 : 0
-0 * -1 : 0
-0 * NaN : NaN
-0 * Infinity : NaN
-0 * -Infinity : NaN
-0 * undefined : NaN
-0 * null : 0
-1 * 0 : 0
-1 * 1 : -1
-1 * -0 : 0
-1 * -1 : 1
-1 * NaN : NaN
-1 * Infinity : -Infinity
-1 * -Infinity : Infinity
-1 * undefined : NaN
-1 * null : 0
NaN * 0 : NaN
NaN * 1 : NaN
NaN * -0 : NaN
NaN * -1 : NaN
NaN * NaN : NaN
NaN * Infinity : NaN
NaN * -Infinity : NaN
NaN * undefined : NaN
NaN * null : NaN
Infinity * 0 : NaN
Infinity * 1 : Infinity
Infinity * -0 : NaN
Infinity * -1 : -Infinity
Infinity * NaN : NaN
Infinity * Infinity : Infinity
Infinity * -Infinity : -Infinity
Infinity * undefined : NaN
Infinity * null : NaN
-Infinity * 0 : NaN
-Infinity * 1 : -Infinity
-Infinity * -0 : NaN
-Infinity * -1 : Infinity
-Infinity * NaN : NaN
-Infinity * Infinity : -Infinity
-Infinity * -Infinity : Infinity
-Infinity * undefined : NaN
-Infinity * null : NaN
undefined * 0 : NaN
undefined * 1 : NaN
undefined * -0 : NaN
undefined * -1 : NaN
undefined * NaN : NaN
undefined * Infinity : NaN
undefined * -Infinity : NaN
undefined * undefined : NaN
undefined * null : NaN
null * 0 : 0
null * 1 : 0
null * -0 : 0
null * -1 : 0
null * NaN : NaN
null * Infinity : NaN
null * -Infinity : NaN
null * undefined : NaN
null * null : 0
0 / 0 : NaN
0 / 1 : 0
0 / -0 : NaN
0 / -1 : 0
0 / NaN : NaN
0 / Infinity : 0
0 / -Infinity : 0
0 / undefined : NaN
0 / null : NaN
1 / 0 : Infinity
1 / 1 : 1
1 / -0 : -Infinity
1 / -1 : -1
1 / NaN : NaN
1 / Infinity : 0
1 / -Infinity : 0
1 / undefined : NaN
1 / null : Infinity
-0 / 0 : NaN
-0 / 1 : 0
-0 / -0 : NaN
-0 / -1 : 0
-0 / NaN : NaN
-0 / Infinity : 0
-0 / -Infinity : 0
-0 / undefined : NaN
-0 / null : NaN
-1 / 0 : -Infinity
-1 / 1 : -1
-1 / -0 : Infinity
-1 / -1 : 1
-1 / NaN : NaN
-1 / Infinity : 0
-1 / -Infinity : 0
-1 / undefined : NaN
-1 / null : -Infinity
NaN / 0 : NaN
NaN / 1 : NaN
NaN / -0 : NaN
NaN / -1 : NaN
NaN / NaN : NaN
NaN / Infinity : NaN
NaN / -Infinity : NaN
NaN / undefined : NaN
NaN / null : NaN
Infinity / 0 : Infinity
Infinity / 1 : Infinity
Infinity / -0 : -Infinity
Infinity / -1 : -Infinity
Infinity / NaN : NaN
Infinity / Infinity : NaN
Infinity / -Infinity : NaN
Infinity / undefined : NaN
Infinity / null : Infinity
-Infinity / 0 : -Infinity
-Infinity / 1 : -Infinity
-Infinity / -0 : Infinity
-Infinity / -1 : Infinity
-Infinity / NaN : NaN
-Infinity / Infinity : NaN
-Infinity / -Infinity : NaN
-Infinity / undefined : NaN
-Infinity / null : -Infinity
undefined / 0 : NaN
undefined / 1 : NaN
undefined / -0 : NaN
undefined / -1 : NaN
undefined / NaN : NaN
undefined / Infinity : NaN
undefined / -Infinity : NaN
undefined / undefined : NaN
undefined / null : NaN
null / 0 : NaN
null / 1 : 0
null / -0 : NaN
null / -1 : 0
null / NaN : NaN
null / Infinity : 0
null / -Infinity : 0
null / undefined : NaN
null / null : NaN
0 % 0 : NaN
0 % 1 : 0
0 % -0 : NaN
0 % -1 : 0
0 % NaN : NaN
0 % Infinity : 0
0 % -Infinity : 0
0 % undefined : NaN
0 % null : NaN
1 % 0 : NaN
1 % 1 : 0
1 % -0 : NaN
1 % -1 : 0
1 % NaN : NaN
1 % Infinity : 1
1 % -Infinity : 1
1 % undefined : NaN
1 % null : NaN
-0 % 0 : NaN
-0 % 1 : 0
-0 % -0 : NaN
-0 % -1 : 0
-0 % NaN : NaN
-0 % Infinity : 0
-0 % -Infinity : 0
-0 % undefined : NaN
-0 % null : NaN
-1 % 0 : NaN
-1 % 1 : 0
-1 % -0 : NaN
-1 % -1 : 0
-1 % NaN : NaN
-1 % Infinity : -1
-1 % -Infinity : -1
-1 % undefined : NaN
-1 % null : NaN
NaN % 0 : NaN
NaN % 1 : NaN
NaN % -0 : NaN
NaN % -1 : NaN
NaN % NaN : NaN
NaN % Infinity : NaN
NaN % -Infinity : NaN
NaN % undefined : NaN
NaN % null : NaN
Infinity % 0 : NaN
Infinity % 1 : NaN
Infinity % -0 : NaN
Infinity % -1 : NaN
Infinity % NaN : NaN
Infinity % Infinity : NaN
Infinity % -Infinity : NaN
Infinity % undefined : NaN
Infinity % null : NaN
-Infinity % 0 : NaN
-Infinity % 1 : NaN
-Infinity % -0 : NaN
-Infinity % -1 : NaN
-Infinity % NaN : NaN
-Infinity % Infinity : NaN
-Infinity % -Infinity : NaN
-Infinity % undefined : NaN
-Infinity % null : NaN
undefined % 0 : NaN
undefined % 1 : NaN
undefined % -0 : NaN
undefined % -1 : NaN
undefined % NaN : NaN
undefined % Infinity : NaN
undefined % -Infinity : NaN
undefined % undefined : NaN
undefined % null : NaN
null % 0 : NaN
null % 1 : 0
null % -0 : NaN
null % -1 : 0
null % NaN : NaN
null % Infinity : 0
null % -Infinity : 0
null % undefined : NaN
null % null : NaN
0 ** 0 : 1
0 ** 1 : 0
0 ** -0 : 1
0 ** -1 : Infinity
0 ** NaN : NaN
0 ** Infinity : 0
0 ** -Infinity : Infinity
0 ** undefined : NaN
0 ** null : 1
1 ** 0 : 1
1 ** 1 : 1
1 ** -0 : 1
1 ** -1 : 1
1 ** NaN : NaN
1 ** Infinity : NaN
1 ** -Infinity : NaN
1 ** undefined : NaN
1 ** null : 1
-0 ** 0 : 1
-0 ** 1 : 0
-0 ** -0 : 1
-0 ** -1 : -Infinity
-0 ** NaN : NaN
-0 ** Infinity : 0
-0 ** -Infinity : Infinity
-0 ** undefined : NaN
-0 ** null : 1
-1 ** 0 : 1
-1 ** 1 : -1
-1 ** -0 : 1
-1 ** -1 : -1
-1 ** NaN : NaN
-1 ** Infinity : NaN
-1 ** -Infinity : NaN
-1 ** undefined : NaN
-1 ** null : 1
NaN ** 0 : 1
NaN ** 1 : NaN
NaN ** -0 : 1
NaN ** -1 : NaN
NaN ** NaN : NaN
NaN ** Infinity : NaN
NaN ** -Infinity : NaN
NaN ** undefined : NaN
NaN ** null : 1
Infinity ** 0 : 1
Infinity ** 1 : Infinity
Infinity ** -0 : 1
Infinity ** -1 : 0
Infinity ** NaN : NaN
Infinity ** Infinity : Infinity
Infinity ** -Infinity : 0
Infinity ** undefined : NaN
Infinity ** null : 1
-Infinity ** 0 : 1
-Infinity ** 1 : -Infinity
-Infinity ** -0 : 1
-Infinity ** -1 : 0
-Infinity ** NaN : NaN
-Infinity ** Infinity : Infinity
-Infinity ** -Infinity : 0
-Infinity ** undefined : NaN
-Infinity ** null : 1
undefined ** 0 : 1
undefined ** 1 : NaN
undefined ** -0 : 1
undefined ** -1 : NaN
undefined ** NaN : NaN
undefined ** Infinity : NaN
undefined ** -Infinity : NaN
undefined ** undefined : NaN
undefined ** null : 1
null ** 0 : 1
null ** 1 : 0
null ** -0 : 1
null ** -1 : Infinity
null ** NaN : NaN
null ** Infinity : 0
null ** -Infinity : Infinity
null ** undefined : NaN
null ** null : 1
0 and 0 : 0
0 and 1 : 0
0 and -0 : 0
0 and -1 : 0
0 and NaN : 0
0 and Infinity : 0
0 and -Infinity : 0
0 and undefined : 0
0 and null : 0
1 and 0 : 0
1 and 1 : 1
1 and -0 : 0
1 and -1 : -1
1 and NaN : NaN
1 and Infinity : Infinity
1 and -Infinity : -Infinity
1 and undefined : undefined
1 and null : null
-0 and 0 : 0
-0 and 1 : 0
-0 and -0 : 0
-0 and -1 : 0
-0 and NaN : 0
-0 and Infinity : 0
-0 and -Infinity : 0
-0 and undefined : 0
-0 and null : 0
-1 and 0 : 0
-1 and 1 : 1
-1 and -0 : 0
-1 and -1 : -1
-1 and NaN : NaN
-1 and Infinity : Infinity
-1 and -Infinity : -Infinity
-1 and undefined : undefined
-1 and null : null
NaN and 0 : NaN
NaN and 1 : NaN
NaN and -0 : NaN
NaN and -1 : NaN
NaN and NaN : NaN
NaN and Infinity : NaN
NaN and -Infinity : NaN
NaN and undefined : NaN
NaN and null : NaN
Infinity and 0 : 0
Infinity and 1 : 1
Infinity and -0 : 0
Infinity and -1 : -1
Infinity and NaN : NaN
Infinity and Infinity : Infinity
Infinity and -Infinity : -Infinity
Infinity and undefined : undefined
Infinity and null : null
-Infinity and 0 : 0
-Infinity and 1 : 1
-Infinity and -0 : 0
-Infinity and -1 : -1
-Infinity and NaN : NaN
-Infinity and Infinity : Infinity
-Infinity and -Infinity : -Infinity
-Infinity and undefined : undefined
-Infinity and null : null
undefined and 0 : undefined
undefined and 1 : undefined
undefined and -0 : undefined
undefined and -1 : undefined
undefined and NaN : undefined
undefined and Infinity : undefined
undefined and -Infinity : undefined
undefined and undefined : undefined
undefined and null : undefined
null and 0 : null
null and 1 : null
null and -0 : null
null and -1 : null
null and NaN : null
null and Infinity : null
null and -Infinity : null
null and undefined : null
null and null : null
0 or 0 : 0
0 or 1 : 1
0 or -0 : 0
0 or -1 : -1
0 or NaN : NaN
0 or Infinity : Infinity
0 or -Infinity : -Infinity
0 or undefined : undefined
0 or null : null
1 or 0 : 1
1 or 1 : 1
1 or -0 : 1
1 or -1 : 1
1 or NaN : 1
1 or Infinity : 1
1 or -Infinity : 1
1 or undefined : 1
1 or null : 1
-0 or 0 : 0
-0 or 1 : 1
-0 or -0 : 0
-0 or -1 : -1
-0 or NaN : NaN
-0 or Infinity : Infinity
-0 or -Infinity : -Infinity
-0 or undefined : undefined
-0 or null : null
-1 or 0 : -1
-1 or 1 : -1
-1 or -0 : -1
-1 or -1 : -1
-1 or NaN : -1
-1 or Infinity : -1
-1 or -Infinity : -1
-1 or undefined : -1
-1 or null : -1
NaN or 0 : 0
NaN or 1 : 1
NaN or -0 : 0
NaN or -1 : -1
NaN or NaN : NaN
NaN or Infinity : Infinity
NaN or -Infinity : -Infinity
NaN or undefined : undefined
NaN or null : null
Infinity or 0 : Infinity
Infinity or 1 : Infinity
Infinity or -0 : Infinity
Infinity or -1 : Infinity
Infinity or NaN : Infinity
Infinity or Infinity : Infinity
Infinity or -Infinity : Infinity
Infinity or undefined : Infinity
Infinity or null : Infinity
-Infinity or 0 : -Infinity
-Infinity or 1 : -Infinity
-Infinity or -0 : -Infinity
-Infinity or -1 : -Infinity
-Infinity or NaN : -Infinity
-Infinity or Infinity : -Infinity
-Infinity or -Infinity : -Infinity
-Infinity or undefined : -Infinity
-Infinity or null : -Infinity
undefined or 0 : 0
undefined or 1 : 1
undefined or -0 : 0
undefined or -1 : -1
undefined or NaN : NaN
undefined or Infinity : Infinity
undefined or -Infinity : -Infinity
undefined or undefined : undefined
undefined or null : null
null or 0 : 0
null or 1 : 1
null or -0 : 0
null or -1 : -1
null or NaN : NaN
null or Infinity : Infinity
null or -Infinity : -Infinity
null or undefined : undefined
null or null : null
0 is 0 : true
0 is 1 : false
0 is -0 : true
0 is -1 : false
0 is NaN : false
0 is Infinity : false
0 is -Infinity : false
0 is undefined : false
0 is null : false
1 is 0 : false
1 is 1 : true
1 is -0 : false
1 is -1 : false
1 is NaN : false
1 is Infinity : false
1 is -Infinity : false
1 is undefined : false
1 is null : false
-0 is 0 : true
-0 is 1 : false
-0 is -0 : true
-0 is -1 : false
-0 is NaN : false
-0 is Infinity : false
-0 is -Infinity : false
-0 is undefined : false
-0 is null : false
-1 is 0 : false
-1 is 1 : false
-1 is -0 : false
-1 is -1 : true
-1 is NaN : false
-1 is Infinity : false
-1 is -Infinity : false
-1 is undefined : false
-1 is null : false
NaN is 0 : false
NaN is 1 : false
NaN is -0 : false
NaN is -1 : false
NaN is NaN : false
NaN is Infinity : false
NaN is -Infinity : false
NaN is undefined : false
NaN is null : false
Infinity is 0 : false
Infinity is 1 : false
Infinity is -0 : false
Infinity is -1 : false
Infinity is NaN : false
Infinity is Infinity : true
Infinity is -Infinity : false
Infinity is undefined : false
Infinity is null : false
-Infinity is 0 : false
-Infinity is 1 : false
-Infinity is -0 : false
-Infinity is -1 : false
-Infinity is NaN : false
-Infinity is Infinity : false
-Infinity is -Infinity : true
-Infinity is undefined : false
-Infinity is null : false
undefined is 0 : false
undefined is 1 : false
undefined is -0 : false
undefined is -1 : false
undefined is NaN : false
undefined is Infinity : false
undefined is -Infinity : false
undefined is undefined : true
undefined is null : false
null is 0 : false
null is 1 : false
null is -0 : false
null is -1 : false
null is NaN : false
null is Infinity : false
null is -Infinity : false
null is undefined : false
null is null : true
0 isnt 0 : false
0 isnt 1 : true
0 isnt -0 : false
0 isnt -1 : true
0 isnt NaN : true
0 isnt Infinity : true
0 isnt -Infinity : true
0 isnt undefined : true
0 isnt null : true
1 isnt 0 : true
1 isnt 1 : false
1 isnt -0 : true
1 isnt -1 : true
1 isnt NaN : true
1 isnt Infinity : true
1 isnt -Infinity : true
1 isnt undefined : true
1 isnt null : true
-0 isnt 0 : false
-0 isnt 1 : true
-0 isnt -0 : false
-0 isnt -1 : true
-0 isnt NaN : true
-0 isnt Infinity : true
-0 isnt -Infinity : true
-0 isnt undefined : true
-0 isnt null : true
-1 isnt 0 : true
-1 isnt 1 : true
-1 isnt -0 : true
-1 isnt -1 : false
-1 isnt NaN : true
-1 isnt Infinity : true
-1 isnt -Infinity : true
-1 isnt undefined : true
-1 isnt null : true
NaN isnt 0 : true
NaN isnt 1 : true
NaN isnt -0 : true
NaN isnt -1 : true
NaN isnt NaN : true
NaN isnt Infinity : true
NaN isnt -Infinity : true
NaN isnt undefined : true
NaN isnt null : true
Infinity isnt 0 : true
Infinity isnt 1 : true
Infinity isnt -0 : true
Infinity isnt -1 : true
Infinity isnt NaN : true
Infinity isnt Infinity : false
Infinity isnt -Infinity : true
Infinity isnt undefined : true
Infinity isnt null : true
-Infinity isnt 0 : true
-Infinity isnt 1 : true
-Infinity isnt -0 : true
-Infinity isnt -1 : true
-Infinity isnt NaN : true
-Infinity isnt Infinity : true
-Infinity isnt -Infinity : false
-Infinity isnt undefined : true
-Infinity isnt null : true
undefined isnt 0 : true
undefined isnt 1 : true
undefined isnt -0 : true
undefined isnt -1 : true
undefined isnt NaN : true
undefined isnt Infinity : true
undefined isnt -Infinity : true
undefined isnt undefined : false
undefined isnt null : true
null isnt 0 : true
null isnt 1 : true
null isnt -0 : true
null isnt -1 : true
null isnt NaN : true
null isnt Infinity : true
null isnt -Infinity : true
null isnt undefined : true
null isnt null : false
0 == 0 : true
0 == 1 : false
0 == -0 : true
0 == -1 : false
0 == NaN : false
0 == Infinity : false
0 == -Infinity : false
0 == undefined : false
0 == null : false
1 == 0 : false
1 == 1 : true
1 == -0 : false
1 == -1 : false
1 == NaN : false
1 == Infinity : false
1 == -Infinity : false
1 == undefined : false
1 == null : false
-0 == 0 : true
-0 == 1 : false
-0 == -0 : true
-0 == -1 : false
-0 == NaN : false
-0 == Infinity : false
-0 == -Infinity : false
-0 == undefined : false
-0 == null : false
-1 == 0 : false
-1 == 1 : false
-1 == -0 : false
-1 == -1 : true
-1 == NaN : false
-1 == Infinity : false
-1 == -Infinity : false
-1 == undefined : false
-1 == null : false
NaN == 0 : false
NaN == 1 : false
NaN == -0 : false
NaN == -1 : false
NaN == NaN : false
NaN == Infinity : false
NaN == -Infinity : false
NaN == undefined : false
NaN == null : false
Infinity == 0 : false
Infinity == 1 : false
Infinity == -0 : false
Infinity == -1 : false
Infinity == NaN : false
Infinity == Infinity : true
Infinity == -Infinity : false
Infinity == undefined : false
Infinity == null : false
-Infinity == 0 : false
-Infinity == 1 : false
-Infinity == -0 : false
-Infinity == -1 : false
-Infinity == NaN : false
-Infinity == Infinity : false
-Infinity == -Infinity : true
-Infinity == undefined : false
-Infinity == null : false
undefined == 0 : false
undefined == 1 : false
undefined == -0 : false
undefined == -1 : false
undefined == NaN : false
undefined == Infinity : false
undefined == -Infinity : false
undefined == undefined : true
undefined == null : false
null == 0 : false
null == 1 : false
null == -0 : false
null == -1 : false
null == NaN : false
null == Infinity : false
null == -Infinity : false
null == undefined : false
null == null : true
0 != 0 : false
0 != 1 : true
0 != -0 : false
0 != -1 : true
0 != NaN : true
0 != Infinity : true
0 != -Infinity : true
0 != undefined : true
0 != null : true
1 != 0 : true
1 != 1 : false
1 != -0 : true
1 != -1 : true
1 != NaN : true
1 != Infinity : true
1 != -Infinity : true
1 != undefined : true
1 != null : true
-0 != 0 : false
-0 != 1 : true
-0 != -0 : false
-0 != -1 : true
-0 != NaN : true
-0 != Infinity : true
-0 != -Infinity : true
-0 != undefined : true
-0 != null : true
-1 != 0 : true
-1 != 1 : true
-1 != -0 : true
-1 != -1 : false
-1 != NaN : true
-1 != Infinity : true
-1 != -Infinity : true
-1 != undefined : true
-1 != null : true
NaN != 0 : true
NaN != 1 : true
NaN != -0 : true
NaN != -1 : true
NaN != NaN : true
NaN != Infinity : true
NaN != -Infinity : true
NaN != undefined : true
NaN != null : true
Infinity != 0 : true
Infinity != 1 : true
Infinity != -0 : true
Infinity != -1 : true
Infinity != NaN : true
Infinity != Infinity : false
Infinity != -Infinity : true
Infinity != undefined : true
Infinity != null : true
-Infinity != 0 : true
-Infinity != 1 : true
-Infinity != -0 : true
-Infinity != -1 : true
-Infinity != NaN : true
-Infinity != Infinity : true
-Infinity != -Infinity : false
-Infinity != undefined : true
-Infinity != null : true
undefined != 0 : true
undefined != 1 : true
undefined != -0 : true
undefined != -1 : true
undefined != NaN : true
undefined != Infinity : true
undefined != -Infinity : true
undefined != undefined : false
undefined != null : true
null != 0 : true
null != 1 : true
null != -0 : true
null != -1 : true
null != NaN : true
null != Infinity : true
null != -Infinity : true
null != undefined : true
null != null : false
0 < 0 : false
0 < 1 : true
0 < -0 : false
0 < -1 : false
0 < NaN : false
0 < Infinity : true
0 < -Infinity : false
0 < undefined : false
0 < null : false
1 < 0 : false
1 < 1 : false
1 < -0 : false
1 < -1 : false
1 < NaN : false
1 < Infinity : true
1 < -Infinity : false
1 < undefined : false
1 < null : false
-0 < 0 : false
-0 < 1 : true
-0 < -0 : false
-0 < -1 : false
-0 < NaN : false
-0 < Infinity : true
-0 < -Infinity : false
-0 < undefined : false
-0 < null : false
-1 < 0 : true
-1 < 1 : true
-1 < -0 : true
-1 < -1 : false
-1 < NaN : false
-1 < Infinity : true
-1 < -Infinity : false
-1 < undefined : false
-1 < null : true
NaN < 0 : false
NaN < 1 : false
NaN < -0 : false
NaN < -1 : false
NaN < NaN : false
NaN < Infinity : false
NaN < -Infinity : false
NaN < undefined : false
NaN < null : false
Infinity < 0 : false
Infinity < 1 : false
Infinity < -0 : false
Infinity < -1 : false
Infinity < NaN : false
Infinity < Infinity : false
Infinity < -Infinity : false
Infinity < undefined : false
Infinity < null : false
-Infinity < 0 : true
-Infinity < 1 : true
-Infinity < -0 : true
-Infinity < -1 : true
-Infinity < NaN : false
-Infinity < Infinity : true
-Infinity < -Infinity : false
-Infinity < undefined : false
-Infinity < null : true
undefined < 0 : false
undefined < 1 : false
undefined < -0 : false
undefined < -1 : false
undefined < NaN : false
undefined < Infinity : false
undefined < -Infinity : false
undefined < undefined : false
undefined < null : false
null < 0 : false
null < 1 : true
null < -0 : false
null < -1 : false
null < NaN : false
null < Infinity : true
null < -Infinity : false
null < undefined : false
null < null : false
```