Почему JSHint не любит троичные для вызовов методов на объектах?
JSHint выдает следующую ошибку:
Ожидал присваивания или вызова функции и вместо этого увидел выражение.
Для следующей строки кода:
(aFunctionOrNull) ? aFunctionOrNull() : someObject.someMethod();
Это подчеркивает финал)
наsomeMethod
поэтому я предполагаю, что ошибка есть. Код работает, и у JSHint нет проблем, когда я изменяю его наif () {} else {}
синтаксис. Я не возражаю против более длинного синтаксиса, но я хотел бы узнать, почему JSHint говорит это, и если это плохая практика.
Самая большая путаница может исходить от терминологии. ЯвляетсяsomeObject.someMethod()
не вызов функции?