Что такое надежный способ mos, если я хочу проверить, является ли переменная нулевой или нет?.
Существуют разные примеры:
if (null == yourvar)
if (typeof yourvar != 'undefined')
if (undefined != yourvar)
Что такое надежный способ mos, если я хочу проверить, является ли переменная нулевой или нет?.
Существуют разные примеры:
if (null == yourvar)
if (typeof yourvar != 'undefined')
if (undefined != yourvar)
Ничего из перечисленного.
Вы не хотите использовать ==
или его разнообразие, потому что выполняет тик-принуждение. Если вы действительно хотите проверить, явно ли что-то явно, используйте оператор ===
.
И снова ваш вопрос показывает, возможно, некоторая ясность ваших требований. Вы действительно имеете в виду null
; или подсчет undefined
тоже? myVar === null
обязательно скажет вам, является ли переменная нулевой, и это вопрос, который вы задали, но действительно ли это то, что вы хотите?
Обратите внимание, что в этом вопросе SO есть гораздо больше информации. Это не прямой дубликат, но он охватывает очень похожие принципы.
Я предпочитаю
if (null == yourvar)
что позволяет избежать случайного присвоения в этом сценарии
if (yourvar = null)
Edit
JavaScript имеет как строгое, так и типовое преобразование равенства. Для строгого равенства сравниваемые объекты должны иметь один и тот же тип и:
* Two strings are strictly equal when they have the same sequence of characters,
same length, and same characters in corresponding positions.
* Two numbers are strictly equal when they are numerically equal (have the
same number value). NaN is not equal to anything, including NaN.
Positive and negative zeros are equal to one another.
* Two Boolean operands are strictly equal if both are true or both are false.
* Two objects are strictly equal if they refer to the same Object.
Нулевые и Undefined типы == (но не ===)
Прочитайте Операторы сравнения
"undefined" не "null". Сравнить
некоторые факты, которые могут помочь вам в дальнейшем
Если вам все равно, если он точно null или undefined или false или 0, и просто хотите увидеть, если он в основном "не установлен", вообще не используйте оператор:
if (yourVar)
if (null == yourvar)
а также
if (typeof yourvar != 'undefined')
делают совсем другие вещи. Предполагается, что переменная существует, а другая -. Я бы предложил не смешивать их вообще. Знайте, когда ожидать, что переменная справится с этим присутствием, прежде чем вы справитесь с его значением.