Var vs Let vs Const trong Javascript

Với ES6, đã có nhiều bổ sung hữu ích cho JavaScript như Promises , async / await , hủy cấu trúc ES6 , v.v. let và const là một trong những bổ sung đó.

Hôm nay trong blog này, chúng ta sẽ thảo luận về sự khác biệt giữa var, let và const trong Javascript. Vậy hãy bắt đầu.

let vs var trong Javascript

Trước khi sử dụng javascript ES6 vartừ khóa chỉ có phạm vi toàn cầu và có một số nhược điểm. với let, javascript đã thêm phạm vi cấp khối.

Hãy thảo luận về sự khác biệt với một số ví dụ.

// ES5 Code
var x = 10;
console.log(x) // 10
var x = "Hello Reader"
console.log(x) // Hello Reader
var x = 12.2
console.log(x) // 12.2

với vartừ khóa, chúng ta có thể khai báo lại một biến đã được khai báo. Điều này tạo ra sự nhầm lẫn khi mã lớn hơn. Điều gì sẽ xảy ra nếu chúng ta đã có một biến được khai báo với cùng tên ở một nơi khác và chúng ta đang khai báo lại nó mà không nhận ra nó? Sau đó, chúng tôi có thể ghi đè giá trị biến, gây ra một số vấn đề khó gỡ lỗi.

Nhưng khi chúng ta sử dụng lettrong javascript, chúng ta sẽ gặp lỗi khi cố gắng khai báo lại một biến đã được khai báo - đó là một điều tốt.

// ES6 Code
let x = 10;
console.log(x); // 10
let x = "Hello Reader"
// Uncaught SyntaxError: Identifier 'x' has already been declared

// ES6 Code
let x= 10;
console.log(x); // 10

x = "Hello Reader";
console.log(x); // Hello Reader

// ES5 Code
var isValid = true;
if(isValid) {
  var number = 10;
  console.log('inside:', number); // inside: 10
}
console.log('outside:', number); // outside: 10

Bây giờ hãy xem đoạn mã dưới đây.

// ES6 Code
let isValid = true;
if(isValid) {
  let number = 10;
  console.log('inside:', number); // inside: 10
}

console.log('outside:', number); 
// Uncaught ReferenceError: number is not defined

Nhưng nếu chúng ta khai báo let bên ngoài ifkhối thì sao? Để xem.

// ES6 Code
let isValid = true;
let number = 10;
if(isValid) {
  console.log('inside:', number); // inside: 10
}

console.log('outside:', number); // 10

let vs const trong Javascript

Từ constkhóa hoạt động giống hệt như lettừ khóa. Nó cũng có phạm vi cấp khối. sau đó chúng khác nhau như thế nào? chúng ta hãy xem

Khi chúng ta khai báo một biến là const, nó được coi là một biến hằng số có giá trị sẽ không bao giờ thay đổi.

Hãy xem đoạn mã dưới đây

// ES6 Code
let x = true;
x = "Hello Reader";
console.log(x) // Hello Reader

// ES6 Code
const x = true;
x = "Hello; 
// Uncaught TypeError: Assignment to constant variable.

Nhưng hành vi constnày khác khi nói đến các đối tượng và mảng . trong khi constđối tượng không thể được cập nhật nhưng các thuộc tính của nó có thể được cập nhật. Điều này là do các đối tượng là kiểu tham chiếu trong javascript.

Hãy xem mã bên dưới

// ES6 Code
const person= {
 name: 'Taran',
 age: 18
};

person.age = 22;

// ES6 Code
const person= {
 name: 'Taran',
 age: 18
};
person = {
 firstName: "Taran",
 lastName: "Arora"
}

var, let và const wrap-up

  1. Các từ khóa letvà constthêm phạm vi khối trong JavaScript.
  2. varcác biến có thể được cập nhật và khai báo lại trong phạm vi của nó
  3. letCác biến có thể được cập nhật nhưng không được khai báo lại Các constbiến không thể được cập nhật cũng như được khai báo lại.

Suggested posts

Tìm kiếm thông tin về tên miền

Đoạn trích từ Small, Sharp Software Tools của Brian P. Hogan

Tìm kiếm thông tin về tên miền

Khi bạn gửi yêu cầu tới facebook.com, máy tính của bạn sẽ tra cứu tên miền để dịch tên miền đó thành địa chỉ IP để máy tính của bạn có thể thực hiện kết nối đó.

Tránh những hậu quả tàn khốc của đột quỵ: Học hỏi từ hành trình của một gia đình.

Tránh những hậu quả tàn khốc của đột quỵ: Học hỏi từ hành trình của một gia đình.

Giới thiệu Đột quỵ là một trường hợp cấp cứu y tế có thể tấn công bất kỳ ai vào bất kỳ lúc nào. Nó xảy ra khi lưu lượng máu đến một phần của não bị gián đoạn, dẫn đến mất chức năng não đột ngột.

Related posts

Theo Dõi Bất Cứ Ai Chỉ Bằng Số Điện Thoại | Điều tra OSINT

Theo Dõi Bất Cứ Ai Chỉ Bằng Số Điện Thoại | Điều tra OSINT

Bạn có thể là Điều tra viên OSINT, Người chơi CTF hoặc đơn giản là người nhận được các cuộc gọi spam. Ai đó đang cố xác minh số bạn đã thấy trong quảng cáo.

Cuộc đàn áp các Kitô hữu: Tội ác thù hận mà chúng ta không nói đến

Quên bài Hồi giáo đi: Cơ đốc nhân (và người Do Thái) là nạn nhân chính của tội ác căm thù tôn giáo.

Cuộc đàn áp các Kitô hữu: Tội ác thù hận mà chúng ta không nói đến

Bất kỳ lý trí nào cũng biết rằng giới chính trị và truyền thông bị chi phối bởi cánh tả, thậm chí là cực tả, một tình trạng tạo ra sự mất cân bằng trong diễn ngôn chính trị. Trong lĩnh vực tôn giáo, sự mất cân bằng này có thể thấy rõ ràng: các tờ báo và mạng lưới cánh tả không vội vàng bảo vệ đức tin Cơ đốc.

đại từ là siêu đáng sợ

Nó đập vào mắt tôi Đột ngột như nó thường xảy ra Nó lại ở giữa chừng <Không, không phải cái ở Thái Bình Dương đâu bạn màu hạt dẻ, cái ở lễ hội hóa trang> Mọi tiêu đề đều ầm ĩ…..

Nghệ thuật có bao giờ phi chính trị?

Nghệ thuật có bao giờ phi chính trị?

Hôm qua, chúng ta đã khép lại cuộc thi Ca khúc Eurovision năm nay bằng một đêm chung kết hoành tráng, hỗn loạn, nơi ca sĩ người Thụy Điển Loreen đã mang về chiếc cúp, trở thành người phụ nữ đầu tiên giành chiến thắng hai lần và mang vương miện về cho Thụy Điển 50 năm sau khi ABBA giành chiến thắng trong cuộc thi với “Waterloo”. Họ tiếp tục trở thành một trong những nghệ sĩ lớn nhất trong thể loại nhạc pop.