Το πρόβλημα της προαιρετικότητας των άγκιστρων σε if-else

Παρά το γεγονός ότι η JavaScript επιτρέπει τις συντομογραφίες που φαίνονται παραπάνω με τα άγκιστρα, γενικά δεν το συνιστώ, καθώς αποτερεί εστία δύσκολα ανιχνεύσιμων σφαλμάτων. Ας υποθέσουμε για παράδειγμα ότι υπάρχει το ακόλουθο κώδικας:

javascriptlet test = 3;

if (test > 0)
  console.log(test);

Ας υποθέσουμε τώρα ότι αποφασίσαμε, στην περίπτωση που η συνθήκη ικανοποιείται, να εμφανίζουμε επίσης και ένα δεύτερο μήνυμα με κείμενο '+++':

javascriptlet test = 3;

if (test > 0)
  console.log(test);
  console.log('+++');

Ωστόσο, χωρίς άγκιστρα, μέσα στην συνθήκη βρίσκεται μόνο το πρώτο μήνυμα. Δηλαδή, η πρώτη γραμμή θα εκτελείται όταν η συνθήκη είναι αληθής, ενώ η δεύτερη - πάντα.

Πρακτικά, ο κώδικάς μας είναι ισοδύναμος με αυτόν:

javascriptlet test = 3;

if (test > 0) {
  console.log(test);
}

console.log('+++'); // αυτή η γραμμή βρέθηκε έξω από τη συνθήκη

Ενώ εμείς θα θέλαμε αυτόν τον κώδικα:

javascriptlet test = 3;

if (test > 0) {
  console.log(test);
  console.log('+++'); // αυτή η γραμμή είναι μέσα στη συνθήκη
}

Για αυτόν ακριβώς τον λόγο συνιστάται να κάνετε πάντα τη χρήση αγκίστρων, για να μην πέφτετε σε σφάλματα αυτού του είδους.