Mục lục JavaScript & TypeScript
Bắt đầu
Cơ bản
Trình duyệt
Docs
JavaScript & TypeScript
Ngôn ngữ của trình duyệt. Từ biến, hàm, DOM tới async và kiểu dữ liệu của TypeScript.
Bắt đầu học- 01Giới thiệu JavaScriptJavaScript là gì, chạy ở đâu (trình duyệt và Node.js), khác Java chỗ nào, và vì sao nó hợp để làm mini game chạy ngay trên web.
- 02Cách chạy JavaScriptBốn cách chạy JavaScript: thẻ script trong HTML, file .js riêng, Console của trình duyệt và Node.js 20 trong cửa sổ dòng lệnh.
- 03Output trong JavaScriptCác cách hiện kết quả trong JavaScript: console.log để debug, textContent để hiện lên trang, alert để báo nhanh, và vì sao bỏ document.write.
- 04Cú pháp và comment trong JavaScriptCâu lệnh trong JavaScript, có nên ghi dấu chấm phẩy không, cách viết comment một dòng và nhiều dòng, và chuyện phân biệt chữ hoa chữ thường.
- 05Biến trong JavaScriptKhai báo biến trong JavaScript bằng let và const, vì sao không dùng var nữa, quy tắc đặt tên và lỗi ReferenceError hay gặp.
- 06Kiểu dữ liệu trong JavaScriptCác kiểu dữ liệu cơ bản trong JavaScript: number, string, boolean, null, undefined, cách kiểm tra bằng typeof và cái bẫy typeof null.
- 07Toán tử trong JavaScriptToán tử số học, so sánh === và ==, toán tử logic && || ! và toán tử ?? trong JavaScript, kèm ví dụ tính máu và điểm trong game.
- 08Chuỗi trong JavaScriptLàm việc với chuỗi trong JavaScript: template literal, length, includes, toUpperCase, split, và vì sao chuỗi không sửa tại chỗ được.
- 09Số trong JavaScriptLàm việc với số trong JavaScript: Number và parseInt để đổi chuỗi sang số, toFixed để làm tròn, Math.random cho sát thương ngẫu nhiên và NaN.
- 10Mảng trong JavaScriptMảng (array) trong JavaScript: tạo mảng, đọc theo chỉ số, length, push, pop, và ba hàm map, filter, find để xử lý kho đồ trong game.
- 11Object trong JavaScriptObject trong JavaScript: gom thông tin nhân vật vào một chỗ, đọc và sửa thuộc tính bằng dấu chấm hoặc ngoặc vuông, thêm, xoá và kiểm tra thuộc tính.
- 12If else trong JavaScriptRẽ nhánh trong JavaScript với if, else if, else, toán tử ba ngôi, và các giá trị truthy, falsy hay làm người mới rẽ nhầm nhánh.
- 13Switch trong JavaScriptCâu lệnh switch trong JavaScript: so một giá trị với nhiều trường hợp, vì sao quên break làm code chạy lan sang case sau, và khi nào dùng switch thay if.
- 14Vòng lặp trong JavaScriptCác vòng lặp trong JavaScript: for đếm số lần, for...of để lặp qua mảng, while lặp tới khi điều kiện sai, cùng break, continue và lỗi lặp vô hạn.
- 15Hàm trong JavaScriptHàm (function) trong JavaScript: khai báo, tham số, return, giá trị mặc định, và vì sao hàm quên return lại trả về undefined.
- 16Arrow function trong JavaScriptArrow function trong JavaScript: cú pháp mũi tên, return ngầm, trả về object, và khi nào nên dùng arrow function thay cho function thường.
- 17DOM trong JavaScriptDOM là gì và cách JavaScript sửa trang web: querySelector để tìm thẻ, textContent để đổi chữ, classList để đổi giao diện, createElement để thêm phần tử mới.
- 18Sự kiện trong JavaScriptBắt sự kiện trong JavaScript bằng addEventListener: click chuột, phím keydown, object event, và làm một nút tấn công tăng điểm cho mini game.
- 19JSON trong JavaScriptJSON là gì, dùng JSON.stringify và JSON.parse để đổi qua lại giữa object và chuỗi, và lưu điểm cao của mini game vào localStorage.
- 20Async await trong JavaScriptPromise là gì, dùng async/await để chờ dữ liệu, fetch một file JSON cấu hình level cho mini game và bắt lỗi bằng try/catch.
- 21Module trong JavaScriptChia code JavaScript thành nhiều file bằng module: export, import, export default, thẻ script type="module" và các lỗi hay gặp khi chạy module.
- 22Giới thiệu TypeScriptTypeScript là gì, vì sao thêm kiểu vào JavaScript giúp bắt lỗi trước khi chạy, cách cài và biên dịch file .ts sang .js bằng tsc.
- 23Kiểu dữ liệu trong TypeScriptKhai báo kiểu trong TypeScript: kiểu cho biến và hàm, khi nào để TypeScript tự suy luận kiểu, kiểu mảng, và union type cơ bản như number | null.
- 24Interface trong TypeScriptDùng interface và type trong TypeScript để mô tả object nhân vật, thuộc tính optional, readonly, và nên chọn interface hay type.