whitespace == false; // true
Напечатайте принуждение, любите это или ненавидите это.
Копание в спецификации ES5.На самом деле не существует другого хорошего способа, кроме как читать то, что кто-то еще выкопал из спецификации ES5.
Если Type (x) - Boolean, вернуть результат сравнения ToNumber (x) == y.
new Number(false) == " "; // true
Булевы преобразованы в 0 или 1. Причина в том, что whitespace == 0
И если вы действительнохотите узнать о new Number(" ")
, затем прочитайте этот 9.3.1 в спецификации ES5.
Важная строка:
МЗ StringNumericLiteral ::: StrWhiteSpace равно 0.