Syntax
Duy Văn | 05/02/2025
Variables và Literals
Hiểu nôm na Variables là biến, còn Literals là giá trị được gán cho biến, giả sử
let a = 5;
let b = "Hello";
Trong đó a là biến, 5 là literal. Dạng như a là tên của cái hộp, còn 5 là cái chứa trong hộp.
Ngoài ra, có thể thực hiện khai báo giá trị biến thông qua biến khác
let a = 5;
let b = a;
Khi này b sẽ lấy giá trị literal của a là 5
Khai báo biến
Để khai báo biến, cần sử dụng từ khoá let, var, const:
varlà cách khai báo biến cũ, khác biệt vớiletở chỗ scope của nó giới hạn trong cả function, nếu không có function thì sẽ là cả scriptletlà cách khai báo biến mới, scope của nó giới hạn trong block, cần cẩn thận nếu không sẽ dính hoisting, đọc thêm ở đâyconstlà cách khai báo biến không thể thay đổi giá trị, nếu cố sẽ dính lỗiTypeError: Assignment to constant variable.
Ví dụ:
if (true) {
var x = 10;
let y = 20;
const z = 30;
}
console.log(x); // ✅ Outputs: 10
console.log(y); // ❌ ReferenceError: y is not defined
console.log(z); // ❌ ReferenceError: z is not defined
Trong tình huống này, kết quả log sẽ là 10 do scope của var là toàn bộ function hoặc script. Sử dụng var khiến việc gán giá trị tràn ra khỏi block
Ngược lại, với let và const thì scope của nó gói gọn trong block nên nếu làm tương tự sẽ lỗi
Còn cụ thể hiểu về biến một cách chi tiết ở đây
Operators
4 Operators cơ bản để sử dụng cho tính toán là cộng +, trừ -, nhân *, chia /. Còn = cũng được coi là operator để gán giá trị biến với literal
let a = 5;
let b = 10;
let sum = a + b;
let sub = a - b;
let mul = a * b;
let div = a / b;
Comments trong JS
Comment trong JS giống như các ngôn ngữ khác, có thể sử dụng // cho comment 1 dòng hoặc /* */ cho comment nhiều dòng
// Đây là comment 1 dòng
/* Đây là comment
nhiều dòng */
Trò biến statement thành comment để không được chạy vẫn áp dụng tốt
Đặt tên biến và hàm
Trong JS, tên của một đối tượng có thể bắt đầu bằng chữ cái a-z & A-Z, dấu gạch dưới _ hoặc dấu $, không bắt đầu bằng số hoặc ký tự đặc biệt.
Tên trong JS cũng phân biệt viết hoa và viết thường, myVariable và myvariable là 2 biến khác nhau.
Chỉ có các ký tự sau được ở trong tên biến hoặc hàm: a-z, A-Z, 0-9, _, $
Convention chung thì có những quy luật sau:
- Tên biến không nên bắt đầu bằng
$do dễ xung đột với tên các hàm trong các library khác, tuy nhiên có thể sử dụng trong các framework như jQuery để chọn các element - Cũng không nên đặt tên biến bắt đầu bằng
_trừ khi có ý đồ đặc biệt, thường là để chỉ biến private - Tên biến và hàm nên là camelCase, tức là viết thường chữ cái đầu tiên của từ đầu tiên, viết hoa chữ cái đầu tiên của từ tiếp theo ví dụ như
myVariable,myFunction - Tên biến không được trùng với keywords