Я люблю экспериментировать с языками программирования. Недавно у меня появилась задача, часто проверять переменную JS на undefined, но при этом ещё проверить истина ли она. Стандартный код такой:
Я расскажу Вам как можно это написать в 2-3 символа. Интересно? Тогда под кат.
Вот пример посложнее, надо проверить переменную на лож или истину. Значит:
А теперь, что недавно обнаружил я, причём искал в интернете и не нашел ни в одной книге.
То-есть, "!!" — является проверкой как определена ли переменная и является истиной, а "!!!" — как определена переменная и является ложью.
При этом если переменная является Undefined, то всегда вернется false.
Счастливых Вам экспериментов!
Доп. Пример
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");