Pull to refresh

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

Lumber room
Awaiting invitation
Я люблю экспериментировать с языками программирования. Недавно у меня появилась задача, часто проверять переменную 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");
Tags:
Hubs:
You can’t comment this post because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.