JavaScript Directory
Tổng hợp tất cả những kiến thức liên quan đến ngôn ngữ lập trình JavaScript từ cơ bản (biến, kiểu dữ liệu, array, object, hàm,...) đến nâng cao (lập trình hướng đối tượng, design pattern, cách giao tiếp với server...), cách JavaScript làm việc với trình duyệt, web API và một số ví dụ thực tế...
Ngôn ngữ lập trình JavaScript
Phần này bao gồm tất cả những thành phần liên quan đến ngôn ngữ lập trình JavaScript như: các kiểu dữ liệu, biến, biểu thức, vòng lặp, hàm, array, object, class,...
Kiến thức tổng quan
JavaScript cơ bản
- Chương trình đầu tiên
- Câu lệnh và chú thích code trong JS
- Use strict trong JS
- Biến là gì? Biến trong JS
- Hằng là gì? Hằng trong JS
- Các kiểu dữ liệu trong JavaScript
- Chuyển đổi kiểu dữ liệu trong JS
- Hàm: alert, confirm, prompt
- Toán tử là gì? Toán tử trong JS
- Toán tử so sánh trong JavaScript
- Toán tử logic trong JavaScript
- Cấu trúc rẽ nhánh trong JS
- Toán tử Nullish Coalescing (??) trong JS
- Lệnh Switch - Case trong JavaScript
- Vòng lặp trong JavaScript
- Hàm là gì? Hàm trong JavaScript
- Function expression trong JavaScript
- Arrow function là gì? Arrow function trong JS
Đối tượng (object)
- Object là gì? Object trong JavaScript
- So sánh hai object trong JS
- Copy object trong JavaScript
- Garbage collection trong JavaScript
- Phương thức của Object và this trong JavaScript
- Khởi tạo object với new trong JavaScript
- Immutable object - đối tượng bất biến
- Optional chaining trong JavaScript
- Symbol trong JavaScript
- Chuyển đổi object về kiểu nguyên thủy
Các kiểu dữ liệu
- Phương thức của kiểu nguyên thủy
- Kiểu dữ liệu number trong JavaScript
- Kiểu dữ liệu string trong JavaScript
- ES6 template string
- Tagged template ES6
- Array là gì? Array trong JavaScript
- Các phương thức của mảng trong JS
- Sắp xếp mảng
- Sắp xếp mảng Tiếng Việt
- JavaScript forEach là cái quái gì?
- Iterable là gì? Iterable trong JavaScript
- Map trong JavaScript
- So sánh Map và Object
- Set trong JavaScript
- Weakmap trong JavaScript
- Weakset trong JavaScript
- Destructuring Assignment
- Đối tượng Date trong JavaScript
- JSON trong JavaScript
- Ứng dụng reduce trong mảng
Kiến thức nâng cao về hàm
- Hàm đệ quy trong JavaScript
- Dấu ba chấm trong JavaScript
- Closure là gì? Tìm hiểu closure trong JS
- Var trong JS và cách sử dụng IIFE
- Đối tượng global trong JavaScript
- Function object trong JavaScript
- Cú pháp new Function trong JavaScript
- Hàm setTimeout trong JavaScript
- Decorator, forwarding của hàm trong JS
- Function binding trong JavaScript
Các cờ và cấu hình thuộc tính object
Prototype và kế thừa prototype
- Prototype là gì? Prototype trong JavaScript
- F.prototype - Prototype của hàm trong JavaScript
- Native prototypes trong JavaScript
- Các phương thức với prototype trong JavaScript
ES6 class
- Cú pháp cơ bản của class trong JavaScript
- Kế thừa class trong JavaScript
- Thuộc tính và phương thức static của class trong JS
- Thuộc tính và phương thức private của class trong JS
- Kế thừa built-in class trong JavaScript
- Kiểm tra lớp với toán tử instanceof
- Kĩ thuật mixin trong JavaScript
Quản lý lỗi
Callback, Promise, async/await
- Bất đồng bộ với callback, promise, async/await
- Callback là gì? Callback trong JavaScript
- Promise là gì? Promise trong JavaScript
- Chuỗi promise trong JavaScript
- Kết thúc Promise chaining
- Xử lý lỗi với promise trong JavaScript
- Các promise API trong JavaScript
- Chuyển callback thành promise trong JS
- Microtasks là gì? Microtasks trong JS
- Async/await là gì? Async/await trong JS
- Bất đồng bộ song song hay tuần tự?
ES6 Modules
Kiểm thử và đảm bảo chất lượng code
Regular Expression
JavaScript với trình duyệt
Phần này bao gồm những bài viết về cách JavaScript làm việc với trình duyệt như: cách tạo ra các phần tử, bắt sự kiện, lưu dữ liệu vào storage trình duyệt,...
DOM
Network requests
Lưu trữ dữ liệu
JavaScript Worker
Một số kiến thức khác về JavaScript
Phần này bao gồm những thủ thuật, tips & tricks, design pattern, những kiến thức ít được chia sẻ về JavaScript và một số bài toán thực tế.
Thủ thuật JavaScript
- 21 thủ thuật JavaScript
- 6 cách loại bỏ phần tử lặp trong mảng
- Remove item in Array
- Convert IPv4 sang Decimal và ngược lại
- Tạo số ngẫu nhiên và ứng dụng
Bài toán thực tế
Design Pattern
Lập trình JavaScript với FCC
- Thuật toán cơ bản
- Thuật toán nâng cao
- Tribute Page
- Portfolio cá nhân
- Random Quote Machine
- Ứng dụng thời tiết
- Wikipedia Viewer
- Twitch TV client
Tutorials
- Mustache Template với jQuery
- HTML template với template string
- Smooth Scrolling với jQuery
- Lazy Loading Image với ES6 và CSS
- Menu Responsive
- Lấy vị trí với Geolocation API và ipinfo.io
- Gửi email bằng HTML và Formspree.io
- Dark theme với CSS variable
- Tối ưu FontAwesome với IcoMoon