Let vs Var vs Const

let vs var vs const

Dù đã quen hay chưa quen với Javascript thì chắc chắn bạn sẽ chẳng còn xa lạ với 3 từ khóa let, var, const. Đó là những từ khóa để khai báo biến trong lập trình javascript.

Vậy sự khác biệt giữa chúng là gì, hãy cùng mình tìm hiểu nha.

let

let được sử dụng để khai báo một biến có phạm vi trong cục bộ, nghĩa là nó chỉ tồn tại trong khối đang bao bọc nó. Hơn nữa biến sử dụng let để khai báo thì có thể bị ghi đè lại giá trị.

[js]
let language = “Python”;
language = “Javascript”;
console.log(language); // Javascript
[/js]

var

Khác với let, var được sử dụng để khai báo một biến có phạm vi toàn cầu, nghĩa là ở bất cứ phần nào trong file javascript của bạn đều có thể truy cập tới được biến đó và cũng có thể ghi đè lại giá trị của biến.

[js]
if (true) {
var language = ‘Javascript’;
let fw = “React”;
}
console.log(language); // Javascript
console.log(fw); // ReferenceError: fw is not defined
[/js]

Chính là bạn có thể sử dụng biến khai báo bằng var ở khắp mọi nơi, điều đó sẽ vô tình gây ra bug cho ứng dụng của bạn nếu như sử dụng chúng không cẩn thận.

const

Nếu như việc sử dụng letvar có thể gán lại giá trị cho biến thì const lại không làm được điều đó.

[js]
const language = “Javascript”;
language = “Python”;
console.log(language); // TypeError: Assignment to constant variable
[/js]

Trong trường hợp nếu biến sử dụng const là một Object hoặc Array, mặc dù bạn không thể ghi đè chúng, nhưng bạn có thể thay đổi giá trị bên trong nó.

[js]
const language = { name: “Javascript” };
language = {
name: “Python” // TypeError: Assignment to constant variable.
};
[/js]

Thay đổi giá trị của key:

[js]
const language = { name: “Javascript” };
language.name = “Python”;
console.log(language.name); // Python
[/js]

Hy vọng với những ví dụ trên sẽ giúp ích cho bạn !