Σταθερές με πίνακες ή αντικείμενα στο JavaScript
Οι σταθερές που περιέχουν πίνακες και αντικείμενα, λειτουργούν με ενδιαφέρον τρόπο. Το JavaScript δεν επιτρέπει την αλλαγή των τιμών αυτών των σταθερών, αλλά η αλλαγή των ιδιοτήτων των αντικειμένων και των τιμών των στοιχείων των πινάκων - επιτρέπεται.
Ας δούμε με παραδείγματα. Ας υποθέσουμε ότι έχουμε το ακόλουθο αντικείμενο:
const obj = {a: 1, b: 2, c: 3};
Ας προσπαθήσουμε να του αναθέσουμε κάτι άλλο:
obj = 123; // σφάλμα
Ας προσπαθήσουμε να αναθέσουμε στη σταθερά ένα άλλο αντικείμενο:
obj = {x: 1, y: 2, z: 3}; // σφάλμα
Ωστόσο, αν προσπαθήσουμε να αλλάξουμε μια ιδιότητα του αντικειμένου, τότε αυτό λειτουργεί:
obj.a = '+'; // λειτουργεί!
Τι θα εμφανιστεί ως αποτέλεσμα της εκτέλεσης του ακόλουθου κώδικα:
const arr = ['a', 'b', 'c'];
arr[1] = '!';
console.log(arr);
Τι θα εμφανιστεί ως αποτέλεσμα της εκτέλεσης του ακόλουθου κώδικα:
const arr = ['a', 'b', 'c'];
arr = [1, 2, 3];
console.log(arr);
Τι θα εμφανιστεί ως αποτέλεσμα της εκτέλεσης του ακόλουθου κώδικα:
const arr = ['a', 'b', 'c'];
arr = ['a', 'b', 'c'];
console.log(arr);