Bài 2: Khai báo biến với từ khoá var let const
Trong JavaScript, chúng ta có thể khai báo một biến theo nhiều cách bằng cách sử dụng các từ khóa khác nhau. Mỗi từ khoá có một phạm vi sử dụng hoặc tính năng cụ thể trong JavaScript.
Về cơ bản, chúng ta có thể khai báo các biến theo ba cách khác nhau bằng cách sử dụng từ khóa var
, let
và const
.
Nội dung của bài
Từ khoá var
Từ khóa này được sử dụng để khai báo biến trên toàn cục. Nếu sử dụng từ khóa này để khai báo biến thì biến có thể truy cập toàn cục và cũng có thể thay đổi. Nếu đoạn mã quá lớn thì sẽ dễ bị nhầm lẫn cũng như phát sinh nhiều vấn đề.
Syntax:
var variableName = <value>;
Từ khoá let
Từ khóa này dùng để khai báo biến cục bộ. Nếu bạn đã sử dụng từ khóa này để khai báo biến thì biến có thể truy cập cục bộ và nó cũng có thể thay đổi được. Điều này vô cùng phù hợp khi đoạn mã của bạn ngày càng nhiều lên và rối rắm.
Syntax:
let variableName = <value>;
Từ khoá const
Từ khóa này được sử dụng để khai báo biến cục bộ. Biến sẽ chỉ có thể truy cập được trong khối đó tương tự như sử dụng let nhưng sự khác biệt giữa let và const là các biến được khai báo bằng giá trị const không thể được gán lại. Vì vậy, chúng ta nên gán giá trị trong khi khai báo biến.
Syntax
const variableName = <value>;
Examples:
Example 1:
function f() {
// It can be accessible any
// where within this function
var a = 10;
console.log(a)
}
f();
// A cannot be accessible
// outside of function
console.log(a);
// result
// 10
// ReferenceError: a is not defined
Vì biến a được khai báo bên trong hàm, nó chỉ có giá trị khi được truy cập từ trong hàm đó, bên ngoài hàm sẽ xảy ra lỗi.
Example 2:
console.log(a);
var a = 10;
// result
// undefined
Khi dùng var để khai báo biến, ngay cả trước khi sử dụng sẽ trả về undefined
. Điều này khá là khó hiểu, bởi biến a sử dụng được ngay cả trước khi khai báo?
Example 3:
Để tránh trường hợp xảy ra như ví dụ 2, một lời khuyên đó là luôn sử dụng let và const thay vì sử dụng var.
console.log(a);
let a = 10;
// result
// Uncaught ReferenceError: Cannot access 'a' before initialization
Biến a sẽ không sử dụng được trong trường hợp này, đảm bảo logic được nhất quán.
Example 4:
const a = 10;
function f() {
a = 9
console.log(a)
}
f();
// TypeError:Assignment to constant variable.
Biến a là hằng số, không thể gán lại giá trị khi khai báo với const. Hãy dùng const trong mọi trường hợp có thể để đảm bảo tính bất biến của dữ liệu!
Hy vọng qua bài viết này các bạn có thể hiểu các từ khoá var let const, cũng như hiểu được ứng dụng của chúng. Hẹn gặp lại trong các bài viết tiếp theo của series.