JavaScript Obtert Mark?: логический синтаксис, защитное программирование

StackOverflow https://stackoverflow.com/questions/19826796

Вопрос

Я пытаюсь переписать приведенное ниже утверждение, используя JavaScript ?: Синтаксис.

if(type of someVariable !="undefined"){
     someFunction(someVariable);
}else{}

Это моя текущая попытка, и это вызывает синтаксисную ошибку

typeof someVariable != "undefined" ? someFunction(someVariable) : ;

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

Нет правильного решения

Другие советы

?: стиль (требует выражений по обе стороны от :):

typeof(someVariable) != 'undefined' ? someFunction : null;

В стиле ниндзя:

someVariable !== undefined && someFunction(someVariable);

РЕДАКТИРОВАТЬ: Я не мог присячить noop Была вещь в JavaScript, но, очевидно, я был неправ. Переключился на null]

Несмотря на то, что тройная операция управляет потоком программы, я бы использовал его только в операции назначения или при возврате значения из функции.

Проверь это:Преимущества использования условного?: (Тройной) оператор

Это должно выглядеть так.

someVariable != undefined ? someFunction(someVariable):someOtherfunction(someOtherVarialbe);

Если вы не хотите другого заявления и хотите его на одной строке, вы можете сделать это:

  if(someVariable != undefined){someFunction(someVariable);}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top