Pierwszy zapis jest dla mnie bardziej czytelny - tak, jak masz np. funkcję czy jakiś blok (chociażby przy for
) to obejmujesz go nawiasami i od razu widać, gdzie dany blok się kończy. Tak samo tutaj - masz return, po nim objęte nawiasami to, co ma zostać zwrócone.
To są takie nawyki/zwyczaje, które zwiększają czytelność - masz parę znaków więcej, ale w niczym one nie przeszkadzają, za to łatwiej się czyta kod.
A też piszesz
return (
true
);
zamiast
return true;
?
Nie kupuję tego wyjaśnienia, bo z zapisem bez nawiasów też widać gdzie się zaczyna i kończy blok - ten render w JSX zawsze jest ostatnią linijką (chyba że mamy kilka returnów), więc nie ma potrzeby dodawać tego nawiasu.
Tak samo jak np. wpis kolegi @Manna5 na blogu - https://4programmers.net/Mikroblogi/View/135122 i mój komentarz do niego - Dlatego dobrze mieć nawyk ZAWSZE dawania klamerek czy innych elementów tworzących blok - nawet, jeśli jest w nim tylko jedna linia kodu.
. Podobnie, jak np. w niektórych językach można wywołać funkcję bez nawiasów (jeśli niczego do niej nie przekazujemy), ale ja zawsze i tak staram się zrobić funkcja()
zamiast funkcja
. Przy takim wywołaniu wprost to jeszcze nie razi, ale jak masz zmienna = funkcja
to jeśli nie dasz nawiasów, to możesz na pierwszy rzut oka nie załapać, czy ta funkcja
to jest nazwa funkcji, która coś ma zwrócić, czy nazwa zmiennej, wartość której chcesz podstawić do zmienna
.
Zgadzam się z klamerkami {}
dla for
, if
, while
, i funkcji. Ale tutaj nie ma klamerek - są nawiasy.
Jedyny mało techniczny powód jaki ku temu widzę to taki że wtedy tag otwierający i zamykający będzie na tej samej linii, tylko że to nie jest do końca istotne, bo jeśli tag ma dzieci to jego dzieci tak czy tak będą aligned, a jeśli jest samozamykająćy się to wtedy to nie ma znaczenia i tak.
Poza tym, w IntelliJ jest opcja żeby alginować tagi nawet bez głupich nawiasów:
Więc jesli ktoś chce mieć tagi aligned, to czemu miałby z niej nie skorzystać zamiast dodawać niepotrzebne elementy do kodu.