Categories JavaScript

Biến trong JavaScript

Có 3 cách để khai báo biến trong JavaScript:

  • Sử dụng var;
  • Sử dụng let;
  • Sử dụng const;

Bài viết này sẽ chỉ nói về cách sử dụng var, về letconst sẽ được nói trong các bài viết khác.

Biến trong JavaScript dùng để chứa giá trị dữ liệu. Trong ví dụ bên dưới, x, y và z là các biến:

Ví dụ:

var x = 5;
var y = 6;
var z = x + y;

Điều này có nghĩa là:

  • x lưu giữ giá trị 5
  • y lưu giữ giá tị 6
  • z lưu giữ giá trị 11 (là tổng của x và y);

Rất giống môn đại số mà bạn đã từng học

Trong ví dụ này, price1, price2total là các biến:

Ví dụ:

var price1 = 5;
var price2 = 6;
var total = price1 + price2;
  • Trong lập trình, giống như trong đại số, chúng ta sử dụng các biến (giống như price1) để lưu giữ giá trị;
  • Trong lập trình, giống như trong đại số, chúng ta sử dụng các biến trong biểu thức (total = price1 + price2);

Từ ví dụ trên, bạn có thể tính ra được tổng là 11.

Các biến JavaScript như các thùng chứa dùng để lưu trữ giá trị dữ liệu.


Định danh trong JavaScript

Tất cả biến trong JavaScript phải được định danh với tên duy nhất.

Những tên duy nhất này được gọi là các định danh.

Các định danh có thể là tên ngắn (như x và y) hoặc tên mô tả dài hơn (như tuoi, tong, tongGiatri).

PS: xem trên các hội nhóm về lập trình thì anh chị em khuyến khích sử dụng tiếng Anh làm biến hơn là tiếng Việt không dấu, mục đích là vì phù hợp với môi trường đa quốc gia, nơi nhiều công ty phần mềm ở VN gia công cho các công ty nước ngoài. Việc đặt tên biến là tiếng Việt có dấu anh em xếp vào dạng cho ăn dép! Tuy nhiên thực tế một số công ty của Trung Quốc và Nhật Bản vẫn có lập trình viên đặt tên biến là ngôn ngữ bản địa của họ trong các ngôn ngữ lập trình nói chung. Nhưng về đại thể, sử dụng tên biến, hàm là tiếng Anh vẫn là lựa chọn an toàn nhất.

Một số luật chung để xây dựng tên cho các biến (định danh duy nhất) là:

  • Tên có thể bao gồm chữ cái (a, b, c,…, x, y, z), số (1, 2,…, 9), ký tự gạch dưới _ và ký tự đô la $;
  • Tên phải bắt đầu là chữ cái, nghĩa là tên biến kiểu 123start sẽ không hợp lệ;
  • Tên cũng có thể bắt đầu với $ và _ (nhưng chúng tôi sẽ không sử dụng cách này trong các hướng dẫn về JavaScript)
  • Tên nhạy cảm với cách viết HOA và thường (nói cách khác x và X sẽ là 2 biến khác nhau);
  • Các từ đã được dùng từ trước (như các từ khoá được xây dựng từ trước trong JavaScript) sẽ không được sử dụng làm tên biến;

Toán tử gán

Trong JavaScript, ký hiệu dấu bằng (=) là một toán tử “gán”, không phải toán tử chỉ sự “bằng nhau”.

Điều này là khác với đại số. Ví dụ dưới đây không có ý nghĩa trong đại số:

x = x + 5;

Trong JavaScript thì ngược lại, là một ví dụ hoàn hảo cho một câu lệnh: nó gán giá trị x + 5 cho x.

(Nó tính giá trị của phép tính x + 5 rồi sau đó đẩy giá trị mới này thay cho giá trị cũ của x. Giá trị của x giờ đây tăng thêm 5.)

Trong JavaScript, toán tử bằng được viết như thế này ==


Kiểu dữ liệu trong JavaScript

Các biến trong JavaScript có thể lưu giữ giá trị số thuần túy 100 và văn bản như “Kiến càng”.

Trong lập trình, giá trị của văn bản được gọi là chuỗi (string).

JavaScript có thể nắm giữ nhiều kiểu dữ liệu khác nhau, nhưng hiện tại bạn chỉ nên nghĩ về kiểu số và chuỗi thôi nhé.

Các chuỗi được viết bên trong dấu nháy kép ("string") hoặc nháy đơn ('string'). Các con số được viết không cần dấu nháy.

Nếu bạn thêm dấu nháy quanh một số, nó sẽ được xem như là chuỗi văn bản chứ không phải là số nữa.

Ví dụ:

var pi = 3.14; // số
var person = "Đức Anh"; // chuổi, nằm trong nháy kép
var answer = 'Dạ vâng!'; // chuỗi, nằm trong nháy đơn

Khai báo (tạo) biến trong JavaScript

Tạo biến trong JavaScript được gọi là khai báo biến.

Bạn khai báo biến trong JavaScript với từ khoá var:

var carName;

Sau khi khai báo, biến vẫn chưa có giá trị (theo ngôn ngữ kỹ thuật, nó có giá trị không xác định / underfined).

Để gán một giá trị cho biến, bạn sử dụng dấu = như thế này:

carName = "Volvo";

Bạn cũng có thể gán giá trị cho biến khi bạn khai báo nó:

var carName = "Volvo";

Trong ví dụ vừa rồi, chúng ta tạo ra biến gọi là carName và gán giá trị “Volvo” cho nó.

Sau đó chúng ta xuất giá trị này vào bên trong văn bản HTML có id="demo":

Ví dụ:

<p id="demo"></p>

<script>
 var carName = "Volvo";
 document.getElementById("demo").innerHTML = carName;
</script>

Một thói quen tốt khi lập trình đó là khai báo tất cả các biến tại phần đầu của mã.


Một câu lệnh, nhiều biến

Bạn có thể khai báo nhiều biến trong một câu lệnh.

Bắt đầu câu lệnh với var và phân tách các biến bằng dấu phẩy:

var person = "Đức Anh", carName = "Volvo", price = 200;

Một khai báo cũng có thể được viết trên nhiều dòng:

var person = "Đức Anh",
carName = "Volvo",
price = 200;

Giá trị = không xác định

Trong các chương trình máy tính, các biến thường được khai báo mà không có giá trị. Giá trị có thể là cái gì đó cần được tính toán hoặc cái gì đó sẽ được cung cấp sau bởi người dùng nhập vào.

Một biến không được khai báo giá trị sẽ có giá trị không xác định (undefined).

Biến carName sẽ có giá trị không xác định sau khi lệnh bên dưới được thực thi:

Ví dụ:

var carName;

Khai báo lại biến trong JavaScript

Nếu bạn khai báo lại một biến trong JavaScript, nó sẽ không mất giá trị trước đó của nó.

Biến carName sẽ vẫn có giá trị là “Volvo” sau khi thực thi các câu lệnh sau:

Ví dụ:

var carName = "Volvo";
var carName;

Số học trong JavaScript

Giống như đại số, bạn có thể sử dụng các phép tính số học với các biến JavaScript, sử dụng toán tử =+:

Ví dụ:

var x = 5 + 2 + 3;

Kết quả như bạn đoán đúng rồi: 10 

Bạn cũng có thể thêm chuỗi, nhưng chuỗi sẽ nối tiếp nhau (thêm vào phần cuối):

Ví dụ:

var x = "Đức" + " " + "Anh";

Thử thêm ví dụ này nữa:

Ví dụ:

var x = "5" + 2 + 3;

Bạn đoán kết quả sẽ là bao nhiêu, không phải 10 đâu nhé, vì “5” là chuỗi rồi, không phải số.

Kết quả hơi bất ngờ một chút: 523

Lưu ý: Nếu bạn thêm một số vào chuỗi, số đó được xem như chuỗi và được nối vào cuối của chuỗi.

Ký hiệu đô la $ trong JavaScript

Cần nhớ rằng các định danh của JavaScript phải bắt đầu với:

  • Chữ cái A – Z hoặc a – z
  • Ký hiệu đô la $
  • Hoặc dấu gạch dưới _

Do JS xem ký hiệu đô la như một ký tự thông thường, các khai báo bao gồm $ là tên biến hợp lệ:

var $$$ = "Xin chào anh em";
var $ = 2; 
var $myMoney = 100000; // giấc mơ của tôi :))

Sử dụng ký hiệu đô là là điều rất hiếm gặp trong JavaScript, nhưng các lập trình viên chuyên nghiệp thường sử dụng nó để làm bí danh cho một hàm chính trong thư viện JS của họ.

Ví dụ trong thư viện JS jQuery, hàm chính $ được sử dụng để lựa chọn các phần tử HTML. Trong jQuery $("p"); có nghĩa là “lựa chọn tất cả các phần tử p”.

Ký hiệu gạch dưới trong JavaScript

JS với ký hiệu gạch dưới như một ký tự, các khai báo bao gồm dấu gạch dưới _ là biến hợp lệ, ví dụ:

var _lastName = "Nguyễn";
var _x = 2;
var _100 = 10;

Sử dụng gạch dưới cũng rất hiếm gặp trong JavaScript, nhưng có mọt quy ước giữa các lập trình viên chuyên nghiệp đó là sử dụng nó làm bí danh cho các biến “riêng tư (ẩn)”.

Back to Top