Как проверить наличие нулевых значений в JavaScript?

Как проверить наличие нулевых значений в JavaScript?

В JavaScript ни одна строка не равна null .

Возможно, вы ожидали, что pass == null будет true, когда pass — пустая строка, потому что вы знаете, что оператор свободного равенства == выполняет определенные виды приведения типов.

Например, это выражение верно:

 '' == 0 

Напротив, оператор строгого равенства === говорит, что это неверно:

 '' === 0 

Учитывая, что '' и 0 слабо равны, вы можете разумно предположить, что '' и null слабо равны. Однако это не так.

Это выражение ложно:

 '' == null 

Результат сравнения любой строки с null равен false. Поэтому pass == null и все остальные ваши тесты всегда будут ложными, и пользователь никогда не получит предупреждение.

Чтобы исправить ваш код, сравните каждое значение с пустой строкой:

 pass === '' 

Если вы уверены, что pass является строкой, pass == '' также сработает, потому что только пустая строка свободно равна пустой строке. С другой стороны, некоторые эксперты говорят, что это хорошая практика — всегда использовать строгое равенство в JavaScript, если вы специально не хотите выполнять приведение типов, которое выполняет оператор свободного равенства.

Если вы хотите узнать, какие пары значений слабо равны, обратитесь к таблице «Сравнения одинаковости» в статье Mozilla на эту тему .

Понравилась статья? Поделиться с друзьями:
JavaScript & TypeScript
Adblock
detector