Это на самом деле неточно. Не все ложные значения равны друг другу, хотя многие люди считают, что это так. Далее в статье упоминается, что false
, 0
и ''
все приблизительно эквивалентны, но эта эквивалентность не имеет ничего общего с тем, что является «ложным».
Вместо этого «falsy» означает только то, что при принуждении к логическому значению оно равно false. Другими словами, это более точное представление того, как определить, является ли что-то ложным:
Boolean(false); // false Boolean(0); // false Boolean(''); // false Boolean(NaN); // false Boolean(undefined); // false Boolean(null); // false Boolean({}); // true Boolean('foo'); // true Boolean(-2); // true // etc.
Кроме того, вы можете пропустить вызов функции Boolean
, если вы используете значение непосредственно в операторе if
или используете такие операторы, как ||
или &&
.
С большей частью остальной части статьи я могу согласиться, но я чувствовал, что это утверждение нуждается в разъяснении.