Το πρόβλημα της προαιρετικότητας των αγκυλών σε βρόχους στο JavaScript
Παρόλο που στους βρόχους μπορούν να παραλειφθούν οι αγκύλες, δεν το συνιστώ καθόλου, καθώς τέτοιος κώδικας συχνά οδηγεί σε σφάλματα.
Ας δούμε ένα παράδειγμα. Ας υποθέσουμε ότι έχουμε τον ακόλουθο κώδικα:
for (let i = 0; i <= 9; i++)
console.log(i); // θα εμφανίσει αριθμούς από 0 έως 9
Θα κάνω μια μικρή διόρθωση στον παραπάνω κώδικα (βρείτε ποια) - και θα σταματήσει να λειτουργεί:
for (let i = 0; i <= 9; i++);
console.log(i); // θα εμφανίσει σφάλμα
Λοιπόν, τι διόρθωσα;
Το πρόβλημα προέκυψε επειδή έβαλα
ερωτηματικό μετά την αγκύλη ) από
τον βρόχο. Σε αυτήν την περίπτωση, προκύπτει ο αποκαλούμενος
βρόχος χωρίς σώμα: απλώς θα εκτελεστεί
εσωτερικά, και η επόμενη γραμμή δεν θα
ανήκει πλέον σε αυτόν. Επομένως, για να αποφευχθούν προβλήματα,
συνιστώ πάντα να βάζετε αγκύλες
στους βρόχους.
Πείτε, ποιο θα είναι το αποτέλεσμα εκτέλεσης του ακόλουθου κώδικα:
let arr = [1, 2, 3, 4, 5];
for (let elem of arr);
console.log(elem);