2015-10-14 8 views
0

Допустим, мы хотим, чтобы проверить, является ли переменная правильно установить (не определено, не пусто, а не ложь ...) перед использованием:Синтаксис коротких строк для проверки переменной в JS?

var myVar = getData(); 
if(myVar) { 
    doSomething(myVar); 
} 

Мы могли бы сократить код, не заявляющего myVar. Но в этом случае getData() называется дважды, а не идеалом.

if(getData()) doSomething(getData()); 

Есть ли другие альтернативы, чтобы держать этот код коротким, но как-то очиститься?

+2

чем проблема с первым пример? Он короткий, чистый и читаемый ... – Andreas

+0

@ Andreas Нет проблем. Я просто хочу знать, есть ли у нас чистая короткая альтернатива. Я предполагаю, что мы можем, но я не знаю синтаксиса. – saawsann

+0

Я голосую, чтобы закрыть этот вопрос как не относящийся к теме, потому что он даже не будет действительным в качестве проверки кода. – Mathletics

ответ

1

Вы действительно не обходите эту переменную. Конечно, вы можете также сделать

var myVar = getData(); 
if (myVar) doSomething(myVar); 

или даже

var myVar; 
if (myVar = getData()) doSomething(myVar); 

, но это в принципе не лучше, чем это.

Если вы хотите, чтобы избежать введения переменной в Вашей области, Вы можете работать вокруг него, используя вспомогательную функцию - также, если вы окажетесь делать это снова и снова:

function maybeDo(val, action) { 
    if (val) return action(val); 
} 
maybeDo(getData(), doSomething); 

 Смежные вопросы

  • Нет связанных вопросов^_^