⊗jsPmCdBOP 126 of 505 menu

Problem opcjonalności nawiasów klamrowych w if-else

Pomimo tego, że JavaScript dopuszcza pokazane powyżej skróty z nawiasami klamrowymi, ja generalnie nie polecam tak robić, ponieważ jest to wylęgarnia trudnych do wychwycenia błędów. Niech na przykład będzie następujący kod:

let num = 3; if (num > 0) console.log(num);

Załóżmy teraz, że postanowiliśmy, jeśli warunek jest spełniony, wypisać jeszcze drugą wiadomość z tekstem '+++':

let num = 3; if (num > 0) console.log(num); console.log('+++');

Jednakże, bez nawiasów klamrowych wewnątrz warunku znajduje się tylko pierwsza wiadomość. Czyli pierwsza linia będzie się wykonywać przy prawdziwym warunku, a druga - zawsze.

Faktycznie nasz kod jest równoważny takiemu:

let num = 3; if (num > 0) { console.log(num); } console.log('+++'); // ta linia znalazła się poza warunkiem

A my chcielibyśmy taki kod:

let num = 3; if (num > 0) { console.log(num); console.log('+++'); // ta linia jest wewnątrz warunku }

Właśnie dlatego zaleca się zawsze stawiać nawiasy klamrowe, aby nie wpadać w tego rodzaju błędy.

Polski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wykorzystujemy pliki cookie do działania strony, analizy i personalizacji. Przetwarzanie danych odbywa się zgodnie z Polityką prywatności.
zaakceptuj wszystkie dostosuj odrzuć