en.javascript.info/1-js/02-first-steps/08-comparison/1-comparison-questions/solution.md
2019-12-02 14:50:33 +08:00

631 B

5 > 4  true
"apple" > "pineapple"  false
"2" > "12"  true
undefined == null  true
undefined === null  false
null == "\n0\n"  false
null === +"\n0\n"  false

Some of the reasons:

  1. Obviously, true.
  2. Dictionary comparison, hence false. "a" is smaller than "p".
  3. Again, dictionary comparison, first char of "2" is greater than the first char of "1".
  4. Values null and undefined equal each other only.
  5. Strict equality is strict. Different types from both sides lead to false.
  6. Similar to (4), null only equals undefined.
  7. Strict equality of different types.