ES2015 (ES6) đã giới thiệu từ khóa const để khai báo một biến mới. Sự khác biệt trong việc khai báo biến const trong javascript với các biến khác là nó không thể được gán lại. Vậy hãy cùng Thế giới JS tìm hiểu sâu hơn về từ khóa này ngay sau đây.
1.Đặc tính:
- Không thể set lại giá trị.
- Nó nằm trong phạm vi khối
- Nó có thể được gán cho biến trên dòng khai báo.
- Nó là một giá trị nguyên thủy.
- Thuộc tính của đối tượng const có thể thay đổi nhưng không thể thay đổi thành tham chiếu đến đối tượng mới
- Các giá trị bên trong mảng const có thể được thay đổi, nó có thể thêm các mục mới vào mảng const nhưng nó không thể tham chiếu một mảng mới.
- Cho phép khai báo lại một biến const bên trong các phạm vi khối khác nhau.
- Chỉ tạo các tham chiếu chỉ đọc đến giá trị.
2.Cú pháp:
const const_name; const x;
Ví dụ 1: Mô tả rằng biến const không thể được gán lại.
// https://vpsus.vn/ // https://www.facebook.com/groups/893052378563701 // https://twitter.com/thegioijs const x = 12; x = 13; x += 1;
Đầu ra:
Uncaught TypeError: Assignment to constant variable.
Ví dụ 2: Mô tả biến const chứa trong Phạm vi của khối.
// https://vpsus.vn/ // https://www.facebook.com/groups/893052378563701 // https://twitter.com/thegioijs const x = 22; { const x = 90; console.log(x); { const x = 77; console.log(x); } { const x = 45; console.log(x); } } console.log(x);
Đầu ra:
90 77 45 22
Ví dụ 3: Mô tả biến const và gán nó sau khi khai báo.
const x; x = 12;
Đầu ra:
Uncaught SyntaxError: Missing initializer in const declaration
Ví dụ 4: Mô tả biến const không thể Hoisted(gán giá trị trước).
// https://vpsus.vn/ // https://www.facebook.com/groups/893052378563701 // https://twitter.com/thegioijs x = 3; console.log(x); const x;
Đầu ra:
Uncaught SyntaxError: Missing initializer in const declaration
Ví dụ 5: Nó mô tả rằng các giá trị mảng có thể được sửa đổi chỉ tham chiếu đến mảng không thể thay đổi.
// https://vpsus.vn/ // https://www.facebook.com/groups/893052378563701 // https://twitter.com/thegioijs // Changing the content of array is // possible in cost array const arr1 = ["jayce", "ezz", "ken", "zim"]; console.log(arr1.toString()); arr1[2] = "zay"; // possible console.log(arr1.toString());
Đầu ra:
jayce, ezz, ken, zim jayce, ezz, zay, zim
Ví dụ 6: Mô tả rằng các thuộc tính của đối tượng có thể được sửa đổi chỉ tham chiếu đến đối tượng không thể thay đổi.
// https://vpsus.vn/ // https://www.facebook.com/groups/893052378563701 // https://twitter.com/thegioijs const person = { first_name: "joker", last_name: "KM", Age: 20, About: "Web Developer and Competitive Programmer" }; console.log(person); // It is possible person.first_name = "Chest"; person.last_name = "OST"; person.Age = 22; person.About = "Commerce undergraduate"; console.log(person); // it is not possible // const person={ // "first_name":"Kenne", // "last_name":"Osika", // "Age":22, // "About":"Commerce undergraduate" // }
Đầu ra:
const person = { first_name: "joker", last_name: "KM", Age: 20, About: "Web Developer and Competitive Programmer" }; console.log(person); // It is possible person.first_name = "Chest"; person.last_name = "OST"; person.Age = 22; person.About = "Commerce undergraduate"; console.log(person); // it is not possible // const person={ // "first_name":"Kenne", // "last_name":"Osika", // "Age":22, // "About":"Commerce undergraduate" // }
Trình duyệt được hỗ trợ const:
- Chrome 21 trở lên
- Edge 12 trở lên
- Firefox 36 trở lên
- Internet Explorer 11 trở lên
- Opera 9 trở lên
- Safari 5.1 trở lên
Tiếp theo, hãy cùng Thế giới JS tìm hiểu thêm các kiến thức về Javascript trong các bài tiếp theo trong series học miễn phí Javascript từ cơ bản tới nâng cao.
Nếu bạn cảm thấy hữu ích và yêu thích Thế giới JS, hãy tham gia và theo dõi chúng tôi để nhận thêm nhiều kiến thức MIỄN PHÍ hơn nữa nhé:
Share to learn more than!