JS. Проверка переменной на undefined или false

8 Июн
2012

Я люблю экспериментировать с языками программирования. Недавно у меня появилась задача, часто проверять переменную JS на undefined, но при этом ещё проверить истина ли она. Стандартный код такой:
if(typeof undefinedVar == "undefined")
  alert("Undefined");
else
  alert("Not undefined");


Я расскажу Вам как можно это написать в 2-3 символа. Интересно? Тогда под кат.


Вот пример посложнее, надо проверить переменную на лож или истину. Значит:

if(typeof undefinedVar == "undefined" && !undefinedVar)
  alert("Undefined and false");
else
  alert(undefinedVar?"Not undefined True":"Not undefined False");


А теперь, что недавно обнаружил я, причём искал в интернете и не нашел ни в одной книге.

if(!!undefinedVar)
  alert("Not undefined");
else
  alert("Undefined");


То-есть, «!!» — является проверкой как определена ли переменная и является истиной, а «!!!» — как определена переменная и является ложью.
При этом если переменная является Undefined, то всегда вернется false.

Счастливых Вам экспериментов!

Доп. Пример
  var iDefined=true;
  var iDefinedMeToo=false;
  if(!!iDefined)
     alert("iDefined true");
  else
     alert("iDefined false");

  if(!!iDefinedMeToo)
     alert("iDefinedMeToo true");
  else
     alert("iDefinedMeToo false");

  if(!!iNotDefined)
     alert("iNotDefined true");
  else
     alert("iNotDefined false or iNotDefined is undefined");
По материалам Хабрахабр.



загрузка...

Комментарии:

Наверх