Dlaczego JSHint nie lubi ternariów dla wywołań metod na obiektach?
JSHint daje następujący błąd:
Oczekiwano przypisania lub wywołania funkcji i zamiast tego zobaczyłem wyrażenie.
Dla następującego wiersza kodu:
(aFunctionOrNull) ? aFunctionOrNull() : someObject.someMethod();
Podkreśla finał)
nasomeMethod
więc zakładam, że błąd istnieje. Kod działa, a JSHint nie ma problemu, kiedy go zmieniamif () {} else {}
składnia. Nie mam nic przeciwko dłuższej składni, ale chciałbym się dowiedzieć, dlaczego JSHint mówi o tym i czy jest to zła praktyka.
Największe zamieszanie może wynikać z terminologii. JestsomeObject.someMethod()
nie wywołanie funkcji?