+15

Tập 2: Javascript - Variables

Mayfest2023

Chào mừng các bạn đến với Tập 2: Javascript - Variables trong series Learn Javascript Core

1. Variables

Tập 1, mình có viết đoạn code demo in ra Hello World. Mình cố tình sử dụng biến để lưu trữ giá trị là Hello World và dùng biến đó trong console.log()

Vậy biến là gì? Giá trị của biến được lưu trữ ở đâu và tại sao chúng ta phải sử dụng biến?

Biến là gì?

Biến hiểu đơn giản là một cái tên mà bạn đặt ra để đại diện cho một giá trị

Giá trị của biến lưu trữ ở đâu?

Giá trị của biến được lưu trữ trong RAM

Hãy tưởng tượng RAM như một kệ sách với nhiều ô chứa sách, khi bạn có một quyển sách và bạn đặt nó vào một ô trong kệ sách, điều này đồng nghĩa rằng, kệ sách đã cấp cho bạn một vị trí lưu trữ và ô sách đó giữ quyển sách của bạn. Cũng như RAM, RAM có từng ô nhớ, khi bạn tạo một biến, một ô nhớ sẽ được cấp phát và lưu trữ giá trị của biến đó

Tại sao chúng ta cần dùng biến?

Sau đây là một ví dụ không sử dụng biến:

console.log('Tran Dinh Thang'.slice(0, 4));
console.log('Tran Dinh Thang'.slice(5, 9));
console.log('Tran Dinh Thang'.slice(10));

Đoạn mã trên mình dùng để in họ, tên đệm và tên chính, như bạn thấy đó, nó đã bị lặp lại và rất dài dòng

Dưới đây là đoạn mã có dùng biến:

const myName = 'Tran Dinh Thang';

console.log(myName.slice(0, 4));
console.log(myName.slice(5, 9));
console.log(myName.slice(10));

Sử dụng biến giúp tái sử dụng mã và giúp mã nguồn trong gọn gàng hơn và dễ đọc hơn

Cách khai báo biến

Có 3 cách để khai báo biến: var, constlet

Dùng var để khai báo biến đã quá là xa xưa rồi, giờ các dự án đều không sử dụng nữa trừ những trường hợp bạn muốn cheat thôi. Vì vậy, mình sẽ không đề cập var trong bài viết này

const myName = 'Tran Dinh Thang';
const birthday = '28/09/1999';
let age;
age = 24;

Quan sát ở trên bạn có nhận ra được điều gì không?

Khi nào sử dụng const và khi nào sử dụng let nhỉ?

Đối với const: bạn không muốn giá trị của mình bị thay đổi trong quá trình thực thi mã lệnh

Đối với let: giá trị của biến có thể thay đổi sau khi đã khai báo

Ví dụ trên, myNamebirthday của mình không bao giờ thay đổi nên mình dùng const, còn age thì sẽ tăng dần theo từng năm nên mình để là let

Một điểm lưu ý là const bắt buộc lúc khai báo phải gán cho một giá trị bất kỳ, let thì có thể không cần. Và cả hai đều sẽ bị lỗi nếu đặt trùng tên biến

Phạm vi của một biến

Các bạn cần biết về phạm vi hoạt động của một biến. Bao gồm: global scope, function scopeblock scope

Global scope:

  • Với biến được khai báo global, bạn có thể sử dụng biến ở bất cứ đâu trong mã nguồn
  • Trong Nodejs có đối tượng là global và trên browser có đối tượng là window. Nếu bạn tạo thêm thuộc tính vào hai đối tượng này thì bạn có thể truy cập ở mọi nơi trong mã nguồn
const myName = 'Tran Dinh Thang';

function logName() {
  console.log(myName);
};

Function scope:

  • Tới bài này mình chưa giới thiệu qua Function là gì, bạn chỉ cần hiểu khái niệm Function scope là được
  • Function scope là các biến được khai báo trong một function sẽ không thể được truy cập từ bên ngoài hàm
function logName() {
  const myName = 'Tran Dinh Thang';
  // Can
  console.log(myName);
};

// Can't
console.log(myName);

Block scope:

  • Cho tới bài viết này thì mình cũng chưa giới thiệu qua if/else hoặc for, các bạn chỉ cần nắm cách hoạt động Block scope của biến
  • Block scope là biến chỉ có thể truy cập trong khối lệnh {}
if (true) {
  const myName = 'Tran Dinh Thang';
  // Can
  console.log(myName);
}

// Can't
console.log(myName);

Đặt tên biến

Mỗi ngôn ngữ lập trình thường có phong cách đặt tên biến khác nhau, chẳng hạn như Python thường đặt là my_name, trong Javascript thì lại đặt là myName

Một số phong cách đặt tên biến phổ biến:

  • Camel Case: myVariable, firstName, totalAmount
  • Pascal Case: MyVariable, FirstName, TotalAmount
  • Snake Case: my_variable, first_name, total_amount

Các bạn cần đặt tên biến có ý nghĩa, mục đích rõ ràng và tuân thủ theo quy tắc đặt tên mà Javascript quy định:

  • Chỉ sử dụng các ký tự chữ cái, chữ số, _ hoặc $
  • Bắt đầu tên biến bằng một chữ cái, _ hoặc $. Không bắt đầu bằng một chữ số
  • Tên biến phân biệt chữ hoa và chữ thường
  • Tránh sử dụng các từ khóa của Javascript như let, const, if, for, while,...
  • Tránh sử dụng các tên biến quá ngắn hoặc quá dài
  • Nên sử dụng các tiền tố. Ví dụ: isNumber, hasValue,...

2. Kết bài

Vậy là các bạn đã biết cách khai báo và sử dụng biến trong JS. Rất mong được sự đóng góp từ các bạn. Cảm ơn các bạn đã đọc


All Rights Reserved

Viblo
Let's register a Viblo Account to get more interesting posts.