ES6 mamy const
.Warunkowo inicjowanie stałej w języku Javascript
To nie jest dozwolone:
const x; //declare first
//and then initialize it
if(condition) x = 5;
else x = 10;
Ma to sens, ponieważ pozwala nam z użyciem stałej zanim zostanie zainicjowana.
Ale jeśli to zrobię
if(condition)
const x = 5;
else
const x = 10;
X staje blok scoped.
Jak warunkowo utworzyć stałą?
Sposób działania jest czystszy, jeśli mamy długie warunki i obliczenia (jak w moim przypadku), które wyglądałyby niechlujnie przy użyciu operatora trójskładnikowego. –
Zgadzam się, że metoda funkcji jest prawdopodobnie najczystsza, szczególnie w bardziej skomplikowanych warunkach. Po prostu wybierz dowolną metodę najlepiej pasującą do twojego przypadku użycia :) – Hecksa
Preferuję ostatnią opcję (funkcję), ponieważ pozwala ona zmienić, ponownie wykorzystać lub nawet przetestować logikę bez zależności od reszty klasy. – ssube