Từ khoá const trong JavaScript
Từ khóa const trong JavaScript (viết tắt của từ constant) có nghĩa là hằng số. Nó được sử dụng để xác định giá trị của một biến không thể thay đổi sau khi biến đó được gán bằng một giá trị nào đó. Và tất nhiên, nó cũng không thể khai báo lại.
Phạm vi của const là block-scoped, điều đó có nghĩa là nó không thể được truy cập từ bên ngoài block-scoped. Khi ở trong phạm vi block-scoped, các biến được khai báo bởi const có chức năng không khác gì let.
>> Xem ngay Tài liệu Java Core giúp bạn “Nâng Cấp” kỹ năng lập trình
Cú pháp const trong JavaScript
Dưới đây là cú pháp để xác định giá trị của const trong JavaScript:
const name1 = value1 [, name2 = value2 [, … [, nameN = valueN]]] Code language: JavaScript (javascript)
Chúng ta không cần phải sử dụng từ khóa var hoặc let khi sử dụng từ khóa const. Ngoài ra, chúng ta có thể gán giá trị cho const bằng một mảng hoặc một giá trị đơn giản hoặc một chuỗi, v.v. dưới dạng một hằng số.
Ví dụ const trong JavaScript
Để hiểu cách tạo const trong JavaScript. Xem ví dụ dưới đây:
{ const Pi = 3.14; alert(Pi); }Code language: JavaScript (javascript)
Kết quả:
3.14Code language: CSS (css)
Hãy thử một ví dụ khác, khi chúng ta muốn thay đổi giá trị của const, thử xem liệu có gán lại giá trị cho const được hay không:
{ const Pi = 3.14; alert(Pi); // Reassign value Pi = 3.143; alert(Pi); }Code language: JavaScript (javascript)
Kết quả:
3.14 Uncaught TypeError: Assignment to constant variable.Code language: JavaScript (javascript)
Phạm vi const trong JavaScript
Phạm vi của biến được xác định bằng từ khóa const cũng giống như phạm vi của biến được khai báo bằng từ khóa let. Vì vậy, const được khai báo bên trong một khối sẽ không thể truy cập bên ngoài khối đó. Hãy xem ví dụ dưới đây:
{ const Pi = 3.14; alert(Pi); } // outside block alert(Pi); // errorCode language: JavaScript (javascript)
Kết quả:
3.14 Uncaught ReferenceError: Pi is not definedCode language: JavaScript (javascript)
Phần dưới là 1 ví dụ chi tiết, mình đã thêm nhiều một số câu lệnh. Trong đó, mình đã khai báo các giá trị của const, cung cấp cho nó phạm vi khác nhau và đang cố gắng thay đổi giá trị của const.
Để xem lỗi, bạn có thể mở công cụ dành cho nhà phát triển trình duyệt (Nếu bạn đang sử dụng trình duyệt Chrome, Edge hoặc Firefox). Sau đó bạn mở mục Console lên rồi bấm vào tab Result ở ví dụ trong bài. Cuối cùng, bạn sẽ thấy thông báo lỗi “Uncaught TypeError: Assignment to Constant variable error” trong mục Console.
Phân biệt var, let và const trong JavaScript
Ngoại lệ
Mặc là const là hằng số không thể thay đổi nhưng vẫn có những trường hợp ngoại lệ. Trên thực tế, const trong trường hợp này được sử dụng nhiều nhất. Điều này có thể gây sốc bởi nhìn là const nhưng lại không phải const.
Trường hợp ngoại lệ xảy ra khi thay đổi các giá trị thuộc tính của const. Bởi vì, const chỉ xác định một tham chiếu không đổi đến một giá trị chứ không hề nói đến thuộc tính bên trong của chúng.
const student = { name: “Học JavaScript”, age: 25, school: “CodeGym” }; student.school = “codegym.vn”; // codegym.vn student = { name: “hocjavascript.net”, age: 50, }; // Uncaught TypeError: Assignment to constant variable.Code language: JavaScript (javascript)
Ở ví dụ trên, khi bạn tạo đối tượng student là const thì đối tượng đó không thể thay đổi thành một đối tượng nào khác nhưng thuộc tính của đối tượng đó vẫn có thể thay đổi. School từ “CodeGym” chuyển thành “codegym.vn”. Tuy nhiên, nếu bạn gán lại giá trị của đối tượng student như dòng code tiếp theo thì không được đâu nhé.
Kết luận
Qua đây là tổng hợp những nội dung chính về const trong JavaScript. Bạn hãy ghi nhớ định nghĩa, cách thức sử dụng, nhất là ví dụ trong phần ngoại lệ để hiểu hơn về const trong JavaScript. Mặc dù rất cơ bản thôi nhưng biết đâu khi đi phỏng vấn, người ta sẽ hỏi những câu ngoại lệ như thế này thì sao.
Cảm ơn bạn đã theo dõi bài viết!
Các bạn có thể tham khảo các bài viết hay về JavaScript tại đây.
Hãy tham gia nhóm Học lập trình để thảo luận thêm về các vấn đề cùng quan tâm.
TỔNG HỢP TÀI LIỆU HỌC LẬP TRÌNH CƠ BẢN CHO NGƯỜI MỚI BẮT ĐẦU
KHOÁ HỌC BOOTCAMP JAVA/PHP/.NET TRỞ THÀNH LẬP TRÌNH VIÊN TRONG 5-6 THÁNG