Το πρόβλημα της προαιρετικότητας των άγκιστρων σε if-else
Παρά το γεγονός ότι η JavaScript επιτρέπει τις συντομογραφίες που φαίνονται παραπάνω με τα άγκιστρα, γενικά δεν το συνιστώ, καθώς αποτερεί εστία δύσκολα ανιχνεύσιμων σφαλμάτων. Ας υποθέσουμε για παράδειγμα ότι υπάρχει το ακόλουθο κώδικας:
let test = 3;
if (test > 0)
console.log(test);
Ας υποθέσουμε τώρα ότι αποφασίσαμε, στην περίπτωση που
η συνθήκη ικανοποιείται, να εμφανίζουμε επίσης και ένα δεύτερο
μήνυμα με κείμενο '+++':
let test = 3;
if (test > 0)
console.log(test);
console.log('+++');
Ωστόσο, χωρίς άγκιστρα, μέσα στην συνθήκη βρίσκεται μόνο το πρώτο μήνυμα. Δηλαδή, η πρώτη γραμμή θα εκτελείται όταν η συνθήκη είναι αληθής, ενώ η δεύτερη - πάντα.
Πρακτικά, ο κώδικάς μας είναι ισοδύναμος με αυτόν:
let test = 3;
if (test > 0) {
console.log(test);
}
console.log('+++'); // αυτή η γραμμή βρέθηκε έξω από τη συνθήκη
Ενώ εμείς θα θέλαμε αυτόν τον κώδικα:
let test = 3;
if (test > 0) {
console.log(test);
console.log('+++'); // αυτή η γραμμή είναι μέσα στη συνθήκη
}
Για αυτόν ακριβώς τον λόγο συνιστάται να κάνετε πάντα τη χρήση αγκίστρων, για να μην πέφτετε σε σφάλματα αυτού του είδους.