Const JavaScript

ECMAScript 2015

Το ECMAScript 2015 εισήγαγε δύο σημαντικά νέα κλειδιά JavaScript:let και const.

Με τη βοήθεια const ορίζονται let Οι μεταβλητές που ορίζονται

Παράδειγμα

const PI = 3.141592653589793;
PI = 3.14;      // Θα προκαλέσει σφάλμα
PI = PI + 10;   // Θα προκαλέσει σφάλμα

Δοκιμάστε το προσωπικά

τοπικό περιβάλλον

στοτοπικό περιβάλλονμέσα const Η αναφερόμενη μεταβλητή let Οι μεταβλητές είναι παρόμοιες.

Σε αυτό το παράδειγμα, το x αναφέρεται στο τοπικό περιβάλλον, διαφορετικά από το x που αναφέρεται έξω από το περιβάλλον:

Παράδειγμα

var x = 10;
// Εδώ, το x είναι 10
{ 
  const x = 6;
  // Εδώ, το x είναι 6
}
// Εδώ, το x είναι 10

Δοκιμάστε το προσωπικά

Στο προηγούμενο κεφάλαιο Let JavaScript Μάθαμε περισσότερα για το τοπικό περιβάλλον.

κατά την αναφορά τους

JavaScript const Οι μεταβλητές πρέπει να αξιολογηθούν κατά την αναφορά τους:

Λάθος

const PI;
PI = 3.14159265359;

Σωστό

const PI = 3.14159265359;

Δεν είναι πραγματικά στατικά

Κλειδί const Διατηρεί μια ορισμένη παραπλάνηση.

Δεν ορίζει την τιμή του const. Ορίζει μια στατική αναφορά στη τιμή.

Επομένως, δεν μπορούμε να αλλάξουμε την αρχική τιμή του const, αλλά μπορούμε να αλλάξουμε τις ιδιότητες του αντικειμένου του const.

Αρχική τιμή

Αν παραδώσουμε μια αρχική τιμή στον const, δεν μπορούμε να αλλάξουμε την αρχική τιμή:

Παράδειγμα

const PI = 3.141592653589793;
PI = 3.14;      // Θα προκαλέσει σφάλμα
PI = PI + 10;   // Θα προκαλέσει σφάλμα

Δοκιμάστε το προσωπικά

Το αντικείμενο του const μπορεί να αλλάξει

Μπορείτε να αλλάξετε τις ιδιότητες του αντικειμένου του const:

Παράδειγμα

// Μπορείτε να δημιουργήσετε αντικείμενα const:
const car = {type:"porsche", model:"911", color:"Black"};
// Μπορείτε να αλλάξετε τις ιδιότητες:
car.color = "White";
// Μπορείτε να προσθέσετε ιδιότητες:
car.owner = "Bill";

Δοκιμάστε το προσωπικά

Αλλά δεν μπορείτε να επαναθέσετε τιμή σε αντικείμενο const:

Παράδειγμα

const car = {type:"porsche", model:"911", color:"Black"};
car = {type:"Volvo", model:"XC60", color:"White"};    // Λάθος

Δοκιμάστε το προσωπικά

Το σύνολο παραμέτρων const μπορεί να αλλάξει

Μπορείτε να αλλάξετε στοιχεία σε σύνολο παραμέτρων const:

Παράδειγμα

// Μπορείτε να δημιουργήσετε σύνολο παραμέτρων const:
const cars = ["Audi", "BMW", "porsche"];
// Μπορείτε να αλλάξετε στοιχεία:
cars[0] = "Honda";
// Μπορείτε να προσθέσετε στοιχεία:
cars.push("Volvo");

Δοκιμάστε το προσωπικά

Αλλά δεν μπορείτε να επαναθέσετε τιμή σε σύνολο παραμέτρων const:

Παράδειγμα

const cars = ["Audi", "BMW", "porsche"];
cars = ["Honda", "Toyota", "Volvo"];    // Λάθος

Δοκιμάστε το προσωπικά

Υποστήριξη προγραμματιστών

Ο Internet Explorer 10 και οι προηγούμενες εκδόσεις δεν υποστηρίζουν const Λέξη-κλειδί.

Η παρακάτω τάβληση ορίζει τις εκδόσεις των προγραμματιστών που υποστηρίζουν πλήρως τη λέξη-κλειδί const:

Chrome 49 IE / Edge 11 Firefox 36 Safari 10 Opera 36
Μάρτιος 2016 Οκτώβριος 2013 Φεβρουάριος 2015 Σεπτέμβριος 2016 Μάρτιος 2016

Επανασυμβολή

Συμματολογία JavaScript επιτρέπεται σε οποιαδήποτε θέση του προγράμματος var Μεταβλητή:

Παράδειγμα

var x = 2;    // Επιτρέπεται
var x = 3;    // Επιτρέπεται
x = 4;        // Επιτρέπεται

Στην ίδια περιοχή ή μπλοκ, δεν επιτρέπεται η επανασυμβολή ή η επαναθέσφηση τιμής μιας υπάρχουσας μεταβλητής var ή let Επανασυμβολή ή επαναθέσφηση τιμής μιας μεταβλητής const:

Παράδειγμα

var x = 2;         // Επιτρέπεται
const x = 2;       // Δεν επιτρέπεται
{
  let x = 2;     // Επιτρέπεται
  const x = 2;   // Δεν επιτρέπεται
}

Στην ίδια περιοχή ή μπλοκ, η επανασυμβολή ή η αναθέσφηση τιμής μιας υπάρχουσας μεταβλητής const δεν επιτρέπεται:

Παράδειγμα

const x = 2;       // Επιτρέπεται
const x = 3;       // Δεν επιτρέπεται
x = 3;             // Δεν επιτρέπεται
var x = 3;         // Δεν επιτρέπεται
let x = 3;         // Δεν επιτρέπεται
{
  const x = 2;   // Επιτρέπεται
  const x = 3;   // Δεν επιτρέπεται
  x = 3;         // Δεν επιτρέπεται
  var x = 3;     // Δεν επιτρέπεται
  let x = 3;     // Δεν επιτρέπεται
}

η επανάληψη της δήλωσης σε άλλη περιοχή ή μπλοκ const Είναι επιτρεπόμενο:

Παράδειγμα

const x = 2;       // Επιτρέπεται
{
  const x = 3;   // Επιτρέπεται
}
{
  const x = 4;   // Επιτρέπεται
}

Ανύψωση

Με τη βοήθεια var Οι ορισμένες μεταβλητές θαΑνύψωσηστην κορυφή. Αν δεν γνωρίζετε τι είναι η ανύψωση (Hoisting), μάθετε αυτό το κεφάλαιο.

Μπορείτε να χρησιμοποιήσετε τη var μεταβλητή πριν από τη δήλωσή της:

Παράδειγμα

carName = "Volvo";    // Μπορείτε να χρησιμοποιήσετε το carName εδώ
var carName;

Δοκιμάστε το προσωπικά

Με τη βοήθεια const Οι μεταβλητές που ορίστηκαν δεν θα ανεβαίνουν στην κορυφή.

const Οι μεταβλητές δεν μπορούν να χρησιμοποιηθούν πριν από τη δήλωσή τους:

Παράδειγμα

carName = "Volvo";    // Δεν μπορείτε να χρησιμοποιήσετε το carName εδώ
const carName = "Volvo";