Menu
CoddyTech

Cheat sheet JavaScript

Cập nhật lần cuối

Biến (let, const, var)

Khai báo giá trị; ưu tiên const, sau đó đến let, và tránh dùng var.

Thao tácCú pháp
Phạm vi khối, gán lại đượclet count = 0;
Phạm vi khối, không gán lại đượcconst name = "Ada";
Phạm vi hàm (kiểu cũ)var x = 1;
Khai báo không gán giá trịlet result;
Khai báo nhiều biếnlet a = 1, b = 2;
Object hằng (nội dung vẫn thay đổi được)const user = {}; user.id = 1;

Kiểu dữ liệu

Các kiểu nguyên thủy, kiểu tham chiếu và cách kiểm tra kiểu.

KiểuVí dụ
Numberlet n = 42;
Stringlet s = "hi";
Booleanlet ok = true;
Arraylet arr = [1, 2, 3];
Objectlet obj = { id: 1 };
Null / undefinedlet a = null;, let b;
Kiểm tra kiểutypeof n
Chuyển đổi kiểuNumber("7"), String(42), Boolean(0)

Chuỗi và template literal

Tạo và xử lý văn bản.

Thao tácCú pháp
Template literalHi ${name}, age ${age} (đặt trong dấu backtick)
Độ dàitext.length
Chữ hoa / chữ thườngtext.toUpperCase(), text.toLowerCase()
Xóa khoảng trắng thừatext.trim()
Thay thế tất cảtext.replaceAll("a", "b")
Tách thành mảngtext.split(",")
Kiểm tra có chứatext.includes("js")
Cắt chuỗitext.slice(0, 3)

Mảng và phương thức mảng

Tập hợp có thứ tự và các phương thức để duyệt chúng.

Thao tácCú pháp
Thêm / xóa ở cuốiarr.push(4), arr.pop()
Thêm / xóa ở đầuarr.unshift(0), arr.shift()
Biến đổi từng phần tửarr.map(x => x * 2)
Giữ các phần tử thỏa điều kiệnarr.filter(x => x > 0)
Gộp thành một giá trịarr.reduce((sum, x) => sum + x, 0)
Tìm một phần tửarr.find(x => x.id === 1)
Kiểm tra một số / tất cảarr.some(f), arr.every(f)
Chỉ số của một giá trịarr.indexOf(3), arr.includes(3)
Nối thành chuỗiarr.join(", ")

Object

Tập hợp các cặp khóa và giá trị.

Thao tácCú pháp
Tạoconst user = { id: 1, name: "Ada" };
Truy cập thuộc tínhuser.name, user["name"]
Thêm / cập nhật thuộc tínhuser.age = 25;
Xóa thuộc tínhdelete user.age;
Lấy tất cả khóa / giá trịObject.keys(user), Object.values(user)
Lấy các cặp khóa và giá trịObject.entries(user)
Gộp objectObject.assign({}, a, b)
Sao chép nôngconst copy = { ...user };

Luồng điều khiển

Điều kiện và vòng lặp.

Thao tácCú pháp
If / else if / elseif (x > 0) { … } else { … }
Toán tử ba ngôiconst y = x > 0 ? 1 : 0;
Switchswitch (x) { case 1: … break; }
Vòng lặp forfor (let i = 0; i < 5; i++) { … }
Vòng lặp for...of (giá trị)for (const item of arr) { … }
Vòng lặp for...in (khóa)for (const key in obj) { … }
Vòng lặp whilewhile (x < 10) { … }

Hàm và arrow function

Định nghĩa các khối code gọi lại và dùng lại được.

Thao tácCú pháp
Khai báo hàmfunction add(a, b) { return a + b; }
Arrow functionconst add = (a, b) => a + b;
Arrow function một đối sốconst sq = x => x * x;
Arrow function không đối sốconst now = () => Date.now();
Tham số mặc địnhfunction f(x = 0) { … }
Tham số restfunction f(...args) { … }
Hàm gọi ngay (IIFE)(() => { … })();

Destructuring và spread

Tách giá trị và sao chép, gộp cấu trúc dữ liệu.

Thao tácCú pháp
Destructuring mảngconst [a, b] = arr;
Destructuring objectconst { id, name } = user;
Đổi tên khi tách giá trịconst { id: userId } = user;
Giá trị mặc địnhconst { age = 0 } = user;
Spread một mảngconst all = [...a, ...b];
Spread một objectconst next = { ...user, age: 25 };
Rest trong destructuringconst [first, ...rest] = arr;

Promise và async/await

Xử lý tác vụ bất đồng bộ như request mạng.

Thao tácCú pháp
Hàm asyncasync function load() { … }
Chờ một promiseconst data = await fetch(url);
Then / catchpromise.then(res => …).catch(err => …)
Try / catch kết hợp awaittry { await f(); } catch (e) { … }
Resolve / rejectPromise.resolve(1), Promise.reject(err)
Chờ tất cảawait Promise.all([a, b])
Lấy promise hoàn tất đầu tiênawait Promise.race([a, b])

Cú pháp JavaScript hiện đại bạn dùng nhiều nhất, gói gọn trong một trang. Cheat sheet JavaScript này là bảng tra cứu nhanh cho ES6+ hằng ngày: khai báo biến, phương thức chuỗi và phương thức mảng, object, arrow function, destructuring và async/await.

Mọi thứ ở đây đều là JavaScript chuẩn, chạy được trên trình duyệt hiện đại và Node.js. Sao chép đoạn bạn cần, hoặc chạy thử bất kỳ đoạn code nào ngay trong playground JS, không cần cài đặt gì. Mới bắt đầu? Khóa học JavaScript tương tác miễn phí của Coddy dạy bạn chính những cú pháp này qua thực hành.

Câu hỏi thường gặp về cheat sheet JavaScript

Cheat sheet JavaScript này có miễn phí không?

Có. Cheat sheet JavaScript này hoàn toàn miễn phí và không cần đăng ký. Lưu trang lại và quay lại bất cứ khi nào bạn cần tra cú pháp, một phương thức mảng hay một mẫu xử lý async.

Trong JavaScript, == và === khác nhau thế nào?
== là so sánh lỏng: nó chuyển hai toán hạng về cùng kiểu rồi mới so sánh, nên 0 == "0" là true. === là so sánh chặt: so sánh cả giá trị lẫn kiểu mà không chuyển đổi, nên 0 === "0" là false. Gần như lúc nào cũng nên dùng === (và !==): kết quả dễ đoán và tránh được những phép ép kiểu bất ngờ.
let, const và var khác nhau thế nào?
const và let có phạm vi khối và được thêm vào từ ES6; var có phạm vi hàm và ra đời sớm hơn. Dùng const cho giá trị không bao giờ gán lại, let cho giá trị cần gán lại, và tránh var để không gặp bug do hoisting và phạm vi. Lưu ý: nội dung của object hay mảng khai báo bằng const vẫn thay đổi được, chỉ có liên kết tên với giá trị là cố định.
Có thể luyện tập JavaScript online không?

Có. Mở playground JS để chạy bất kỳ đoạn code nào trong cheat sheet này ngay trên trình duyệt, không cần cài đặt gì. Khi muốn học có lộ trình, khóa học JavaScript tương tác miễn phí của Coddy dẫn bạn từng bước từ biến và vòng lặp đến phương thức mảng và async/await.

Cheat sheet này có phù hợp cho người mới bắt đầu không?

Có. Nội dung được sắp xếp từ kiến thức cơ bản (biến, kiểu dữ liệu, chuỗi) đến destructuring và async/await, nên ngay ngày đầu bạn đã dùng được các phần trên cùng, rồi dần làm quen với các tính năng ES6+ hiện đại.

Hình minh họa các ngôn ngữ lập trình của Coddy

Học JavaScript cùng Coddy

Bắt đầu