Как проверить, не является ли переменная null?



Я знаю, что ниже приведены два способа в JavaScript, чтобы проверить, не является ли переменная null, но я запутался, что является лучшей практикой для использования.



Я должен делать:



if (myVar) {...}


или



if (myVar !== null) {...}
634   6  

6 ответов:

они не эквивалентны. Первый будет выполнять блок после if заявление если myVar и истина (т. е. значение true в условном), в то время как второй будет выполнять блок, если myVar - это любое значение, кроме null.

единственными значениями, которые не являются истинными в JavaScript, являются следующие (a. k. a.ложь значения):

  • null
  • undefined
  • 0
  • "" (пустая строка)
  • false
  • NaN

вот как вы можете проверить, если переменная не null:

if (myVar !== null) {...}

блок будет выполнен, если myVar не равен null.. он будет выполнен, если myVar не определен или false или 0 или NaN или что-нибудь еще..

есть читать на этом посту: http://enterprisejquery.com/2010/10/how-good-c-habits-can-encourage-bad-javascript-habits-part-2/

у него есть несколько хороших советов для JavaScript в целом, но одна вещь, которую он упоминает, заключается в том, что вы должны проверить null, например:

if(myvar) { }

Он также упоминает то, что считается "фальшивым", что вы можете не понять.

есть еще один возможный сценарий, с которым я только что столкнулся.

Я сделал вызов ajax и получил данные обратно как null, в строковом формате. Я должен был проверить это так:

if(value != 'null'){}

Итак, null была строкой, которая читала "null", а не действительно была null.

EDIT: следует понимать, что я не продаю это так, как это должны быть сделано. У меня был сценарий, где это был единственный способ сделать это. Я не уверен почему... возможно, парень, который написал back-end, неправильно представлял данные, но, несмотря на это, это реальная жизнь. Это расстраивает, когда это голосует кто-то, кто понимает, что это не совсем правильно, а затем голосует кто-то, кому это действительно помогает.

Если myVar равно null, то если блок не выполнить в противном случае он будет выполняться.

if (myVar != 'null') {...}

два условных оператора, которые вы перечисляете здесь, не лучше друг друга. Использование зависит от ситуации. У вас есть опечатка, кстати, во 2-м примере. После восклицательного знака должен быть только один знак равенства.

1-й пример определяет, если значение в myVar true и выполняет код внутри {...}

второй пример оценивает, если myVar не равно null и если это так он будет выполнять ваш код внутри {...}

Я предлагаю взглянуть на условные операторы для большего количества методов. После того, как вы знакомы с ними, вы можете решить, когда они вам нужны.

Comments

    Ничего не найдено.