Đang tải...

TTnguyen

ttnguyen.net là blog được lập ra với mục đích ghi chép và chia sẻ những gì tôi học về ngành CNTT


28

Sự khác biệt giữa var, let và const trong JavaScript

TTnguyen
TTnguyen

3 năm trước · 3 phút đọc

Tôi muốn thảo luận chi tiết về các từ khóa var, let và const.

Var

Câu lệnh các biến JavaScript được sử dụng để khai báo một biến và tùy chọn, chúng ta có thể khởi tạo giá trị của biến đó.

Ví dụ:

var a = 10

;

Khai báo biến được xử lý trước khi thực thi mã. Phạm vi của một biến JavaScript được khai báo với var là ngữ cảnh thực thi hiện tại của nó . Phạm vi của một biến JavaScript được khai báo bên ngoài hàm là phạm vi toàn cầu. Hãy xem xét đoạn mã sau.

function nodeSimplified(){
  var a =10;
  console.log(a);  // output 10
  if(true){
   var a=20;
   console.log(a); // output 20
  }
  console.log(a);  // output 20
}``

Trong đoạn mã trên, bạn có thể tìm thấy, khi biến được cập nhật bên trong vòng lặp if, giá trị của biến "a" được cập nhật 20 trên toàn cầu, do đó bên ngoài vòng lặp if, giá trị vẫn tồn tại. Nó tương tự như biến Toàn cục có trong các ngôn ngữ khác. Tuy nhiên, hãy đảm bảo sử dụng chức năng này một cách cẩn thận vì có khả năng ghi đè giá trị hi

Let

Câu lệnh let khai báo một biến cục bộ trong một phạm vi khối. Nó tương tự như var , ở chỗ chúng ta có thể tùy chọn khởi tạo biến.

Ví dụ: let a = 10;

Câu lệnh let cho phép bạn tạo một biến với phạm vi giới hạn trong khối mà nó được sử dụng. Nó tương tự như biến chúng ta khai báo bằng các ngôn ngữ khác như Java, .NET, v.v. Hãy xem xét đoạn mã sau.

function nodeSimplified(){
  let a =10;
  console.log(a);  // output 10
  if(true){
   let a=20;
   console.log(a); // output 20
  }
  console.log(a);  // output 10
}

Đó là hành vi gần giống như chúng ta thấy trong hầu hết các ngôn ngữ.

function nodeSimplified(){
  let a =10;
  let a =20; //throws syntax error
  console.log(a); 
}

Thông báo Lỗi: Lỗi Cú pháp chưa được khai báo: Số nhận dạng 'a' đã được khai báo.

Tuy nhiên, với var, nó hoạt động tốt.

function nodeSimplified(){ 
  var a =10;   
  var a =20;   
  console.log(a);  //output 20 
}

Phạm vi sẽ được duy trì tốt với câu lệnh let và khi sử dụng một hàm bên trong, câu lệnh let làm cho mã của bạn trở nên sạch sẽ và rõ ràng.

Tôi hy vọng các ví dụ trên sẽ giúp bạn hiểu rõ hơn về lệnh var và let và nếu bạn có bất kỳ thắc mắc nào, hãy viết cho tôi trong phần bình luận.

const

Giá trị câu lệnh const có thể được gán một lần và chúng không thể được gán lại. Phạm vi của câu lệnh const hoạt động tương tự như câu lệnh let.

Ví dụ: const a = 10;

function nodeSimplified(){
  const MY_VARIABLE =10;
  console.log(MY_VARIABLE);  //output 10 
}

Như thường lệ, các tiêu chuẩn đặt tên yêu cầu chúng ta khai báo biến const bằng chữ in hoa. const a = 10 sẽ hoạt động theo cách tương tự như mã được đưa ra ở trên. Các tiêu chuẩn đặt tên nên được tuân theo để duy trì mã trong thời gian dài.

Câu hỏi: Điều gì sẽ xảy ra khi chúng ta cố gắng gán lại biến const? Hãy xem xét đoạn mã sau.

function nodeSimplified(){
  const MY_VARIABLE =10;
  console.log(MY_VARIABLE);  //output 10
  MY_VARIABLE =20;           //throws type error
  console.log(MY_VARIABLE); 
}

Thông báo lỗi: Loại chưa có Lỗi: Gán cho biến hằng số.

Mã sẽ xuất hiện một lỗi khi chúng tôi cố gắng gán lại biến const hiện có.

Nếu bạn thích bài viết này, hãy chia sẻ với bạn bè của bạn. Cảm ơn vì đã đọc! Nguồn: ttnguyen

28