Ưu đãi trong tuần: Nhập mã UD50 giảm 50k cho đơn từ 300k!
Trang chủ
Menu

JavaScript - The Complete Guide (Beginner + Advanced)

JavaScript - Hướng Dẫn Toàn Tập (Cơ Bản + Nâng Cao)

JavaScript - Hướng Dẫn Toàn Tập (Cơ Bản + Nâng Cao)

JavaScript hiện đại từ đầu - đi từ mới bắt đầu đến trình độ chuyên gia! Tài nguyên JavaScript không thể thiếu năm 2026.

4.6
(33,065 đánh giá)
177,115 học viên
Phụ đề Việt chất lượng cao Phụ đề tiếng Anh Bán chạy Đánh giá cao
79.000đ 1.899.000đ -96%
✓ Xem giỏ hàng và thanh toán
Bao gồm phụ đề tiếng Việt, tiếng Anh
52.5 giờ video
628 bài giảng
36 bài quiz
11 bài coding
Truy cập vĩnh viễn
Học trên mọi thiết bị
Cập nhật: 07/06/2026

Bạn sẽ học được gì

Học JavaScript từ đầu và chi tiết - từ cơ bản đến nâng cao
Tất cả tính năng và khái niệm cốt lõi bạn cần biết trong phát triển JavaScript hiện đại
Mọi thứ bạn cần để trở thành chuyên gia JavaScript và ứng tuyển việc làm
Học qua dự án với nhiều ví dụ thực tế
Tất cả về biến, hàm, đối tượng và mảng
Lập trình hướng đối tượng
Đi sâu vào prototypes, JavaScript engines & cách hoạt động bên trong
Thao tác với trang web (= DOM) bằng JavaScript
Xử lý sự kiện, lập trình bất đồng bộ và Http requests
Meta-programming, tối ưu hiệu suất, xử lý rò rỉ bộ nhớ
Kiểm thử, bảo mật và triển khai
Và còn nhiều hơn thế!

Yêu cầu

KHÔNG yêu cầu kiến thức JavaScript trước đó
Nên có kiến thức cơ bản về phát triển web
Hiểu biết cơ bản về HTML và CSS có ích nhưng KHÔNG bắt buộc

Đối tượng phù hợp

Học viên phát triển web mới bắt đầu chưa có hoặc có ít kinh nghiệm JavaScript
Cả những lập trình viên đã biết cơ bản về JavaScript và muốn nâng cao kiến thức
Lập trình viên JavaScript nâng cao muốn tìm hiểu chi tiết sâu và khái niệm nâng cao
Tất cả những ai quan tâm đến học JavaScript và cách nó hoạt động

Nội dung khóa học

36 phần • 617 bài giảng
1 Giới thiệu
2 JavaScript là gì?
3 JavaScript trong thực tế!
4 Tham gia Cộng đồng Học trực tuyến của chúng tôi
5 Cách JavaScript được thực thi
6 Ngôn ngữ Động so với Ngôn ngữ Kiểu Yếu
7 JavaScript Thực thi trong Môi trường Hosted
8 Nội dung khóa học - Có gì trong khóa này?
9 Cách tận dụng tối đa khóa học
10 Sử dụng tài nguyên khóa học
11 JavaScript so với Java
12 Lược sử JavaScript
13 Thiết lập môi trường phát triển
14 Câu hỏi thường gặp về khóa học
15 Thiết lập khóa học
1 Giới thiệu module
2 Thiết lập dự án
3 Thêm về Kiểm soát Phiên bản & Git
4 Thêm JavaScript vào Website
5 Giới thiệu Biến & Hằng số
6 Khai báo & Định nghĩa biến
7 Làm việc với Biến & Toán tử
8 Hiểu mã nguồn bắt đầu
9 Kiểu dữ liệu: Số & Chuỗi (Văn bản)
10 Sử dụng Hằng số
11 Thêm về Chuỗi
12 Giới thiệu Hàm
13 Thêm Hàm tùy chỉnh
14 Phong cách, quy ước & cú pháp viết mã
15 Trả về giá trị
16 (Không) Quan trọng của Thứ tự Mã
17 Giới thiệu Phạm vi Toàn cục & Cục bộ
18 "Biến bị che"
19 Thêm về câu lệnh "return"
20 Thực thi Hàm "Gián tiếp"
21 Thực thi Hàm "Gián tiếp" vs "Trực tiếp" - Tóm tắt
22 Chuyển đổi Kiểu dữ liệu
23 Trộn Số & Chuỗi
24 Chia mã thành các hàm
25 Kết nối tất cả Nút với Hàm
26 Làm việc với Chú thích Mã
27 Thêm Toán tử!
28 Thêm Kiểu dữ liệu Cốt lõi!
29 Sử dụng Mảng
30 Tạo Đối tượng
31 Đối tượng - Các lỗi cú pháp thường gặp
32 Truy cập Dữ liệu Đối tượng
33 Thêm Hàm tái sử dụng dùng Đối tượng
34 undefined, null & NaN
35 Toán tử "typeof"
36 Nhập Script chính xác với "defer" & "async"
37 Nhập JavaScript - Tóm tắt
38 Tổng kết
39 Tài nguyên & Liên kết hữu ích
1 Giới thiệu module
2 Tổng quan Phát triển & Gỡ lỗi Hiệu quả
3 Cấu hình Giao diện & Cảm nhận IDE
4 Sử dụng Phím tắt
5 Làm việc với Tự động hoàn thành & Gợi ý IDE
6 Cài đặt Tiện ích mở rộng IDE
7 Tinh chỉnh Cài đặt Trình soạn thảo
8 Sử dụng các Chế độ xem IDE khác nhau
9 Tìm kiếm Trợ giúp & Làm việc với MDN
10 Tiêu chuẩn ECMAScript
11 Cách "google" chính xác
12 Gỡ lỗi JavaScript - Tổng quan
13 Thông báo Lỗi! Không cần Hoảng sợ!
14 Dùng console.log() để "nhìn vào" Mã
15 Gỡ lỗi Nâng cao với Chrome Devtools & Breakpoints
16 Kiểm tra Thay đổi Mã trực tiếp trong Devtools
17 Gỡ lỗi Mã trực tiếp trong VS Code
18 Tổng kết
19 Tài nguyên & Liên kết hữu ích
1 Giới thiệu module
2 Giới thiệu câu lệnh "if" & Toán tử Boolean (So sánh)
3 Dùng Boolean trong Điều kiện & Thêm về So sánh Văn bản
4 Sử dụng câu lệnh "if"
5 Làm việc với "if", "else" và "else-if"
6 Cẩn thận khi So sánh Đối tượng & Mảng!
7 Toán tử Logic AND và OR
8 Hiểu Thứ tự Ưu tiên Toán tử
9 Ngoài true/false: Giá trị "Truthy" và "Falsy"
10 Ép kiểu so với Chuyển đổi
11 Thiết lập Dự án Ví dụ lớn ("Monster Killer")
12 Thêm chức năng "Tấn công"
13 Dùng "if" để Kiểm tra Điều kiện Thắng
14 Thêm câu lệnh "if" & Chức năng "Tấn công Mạnh"
15 Đến lúc cho chức năng "Hồi máu Người chơi"!
16 Điều khiển Mạng sống Bổ sung có Điều kiện (Không dùng Toán tử Boolean!)
17 Thêm chức năng "Chơi lại"
18 Kiểm tra Đầu vào Người dùng
19 Sử dụng Hằng số Toàn cục làm Định danh trong Mã Điều kiện
20 Thêm Nhật ký Chiến đấu có Điều kiện
21 Giới thiệu Toán tử Ba ngôi
22 Một chút Lý thuyết: Câu lệnh so với Biểu thức
23 "Mẹo" & Cách viết tắt Toán tử Logic
24 Toán tử Logic - Tóm tắt nhanh
25 Làm việc với câu lệnh "switch-case"
26 Giới thiệu Vòng lặp
27 Vòng lặp "for"
28 Vòng lặp "for-of"
29 Vòng lặp "for-in"
30 Vòng lặp "while" & "do-while"
31 Điều khiển Vòng lặp với "break"
32 Điều khiển Lần lặp với "continue"
33 Điều khiển nhiều hơn với Câu lệnh có Nhãn
34 Xử lý Lỗi với "try-catch" - Giới thiệu
35 Ném Lỗi tùy chỉnh
36 Làm việc với "try-catch" để Bắt & Xử lý Lỗi
37 Tổng kết
38 Tài nguyên & Liên kết hữu ích
1 Giới thiệu module
2 ES5 vs ES6+ ("JS Thế hệ Mới") - Sự phát triển của JavaScript
3 var vs let & const - Giới thiệu "Phạm vi Khối"
4 Hiểu "Hoisting"
5 Chế độ Nghiêm ngặt & Viết mã Tốt
6 Cách Mã được Phân tích & Biên dịch
7 Bên trong JavaScript Engine - Cách Mã thực thi
8 [CHUYÊN SÂU] Ngôn ngữ JavaScript so với Browser APIs
9 Giá trị Nguyên thủy so với Tham chiếu
10 Thu gom Rác & Quản lý Bộ nhớ
11 Tổng kết
12 Tài nguyên & Liên kết hữu ích
1 Giới thiệu module
2 Ôn lại kiến thức Hàm - Những gì đã biết
3 Tham số so với Đối số
4 Hàm so với Phương thức
5 Hàm là Đối tượng!
6 Biểu thức Hàm: Lưu Hàm trong Biến
7 Biểu thức Hàm so với Khai báo Hàm
8 Hàm Ẩn danh
9 Làm việc trên Dự án: Thêm Lựa chọn Người dùng vào Game
10 Triển khai Logic Game chính
11 Giới thiệu Hàm Mũi tên
12 Các cú pháp Hàm Mũi tên khác nhau
13 Hiển thị Thông báo cho Người dùng
14 Đối số Mặc định trong Hàm
15 Giới thiệu Tham số Rest ("Toán tử Rest")
16 Tạo Hàm bên trong Hàm
17 Hiểu Hàm Callback
18 Làm việc với "bind()"
19 Thêm bind() vào Dự án Máy tính
20 call() và apply()
21 Tổng kết
22 Tài nguyên & Liên kết hữu ích
1 Giới thiệu module
2 "DOM" là gì?
3 Đối tượng Document và Window
4 Hiểu DOM và cách nó được tạo
5 Nodes & Elements - Tổng quan Truy vấn DOM
6 Chọn Phần tử trong DOM
7 Tóm tắt: Phương thức Truy vấn Node
8 Khám phá và Thay đổi Thuộc tính DOM
9 Thuộc tính so với Attributes
10 Chọn Nhiều Phần tử & Tóm tắt
11 Duyệt DOM - Tổng quan
12 Duyệt Child Nodes
13 Dùng parentNode & parentElement
14 Chọn Sibling Elements
15 Duyệt DOM so với Phương thức Truy vấn
16 Tạo kiểu cho Phần tử DOM
17 Tạo Phần tử với JS - Tổng quan
18 Thêm Phần tử qua HTML trong Mã
19 Thêm Phần tử qua createElement()
20 Chèn Phần tử DOM
21 Sao chép DOM Nodes
22 Live Node Lists so với Static Node Lists
23 Xóa Phần tử
24 Tóm tắt Phương thức Chèn & Xóa
25 Tóm tắt: Chèn, Thay thế, Xóa
26 Thiết lập Dự án Thực hành
27 Chọn Modal và Nút "Thêm"
28 Mở Modal bằng cách Thay đổi Lớp CSS
29 Điều khiển Nền mờ (Backdrop)
30 Lấy và Kiểm tra Dữ liệu Người dùng Nhập
31 Tạo Phim trong JavaScript & Xóa Dữ liệu Nhập
32 Hiển thị Các mục Phim trên Màn hình
33 Xóa Các phần tử Phim
34 Hiện & Ẩn Hộp thoại "Bạn có chắc không?"
35 Bắt đầu với Logic Xác nhận
36 Hoàn thiện Ứng dụng
37 Tổng kết
38 Tài nguyên & Liên kết Hữu ích
1 Giới thiệu Mô-đun
2 "Iterables" và "Array-like Objects" là gì?
3 Tạo Mảng
4 Bạn có thể Lưu Loại Dữ liệu nào trong Mảng?
5 push(), pop(), unshift(), shift() - Thêm & Xóa Phần tử
6 Phương thức splice()
7 Chọn Phạm vi & Tạo Bản sao với slice()
8 Thêm Mảng vào Mảng với concat()
9 Lấy Chỉ mục với indexOf() /& lastIndexOf()
10 Tìm kiếm: find() và findIndex()
11 Có bao gồm không?
12 Thay thế cho Vòng lặp for: Phương thức forEach()
13 Biến đổi Dữ liệu với map()
14 Sắp xếp với sort() và Đảo ngược với reverse()
15 Lọc Mảng với filter()
16 Nơi Hàm Mũi tên Tỏa sáng!
17 Phương thức reduce() Quan trọng
18 Chuỗi các Phương thức trong JavaScript
19 Mảng & Chuỗi - split() và join()
20 Toán tử Spread (...)
21 Hiểu về Phân rã Mảng (Array Destructuring)
22 Tổng quan về Map & Set
23 Làm việc với Set
24 Làm việc với Map
25 Map so với Object
26 Hiểu về WeakSet
27 Hiểu về WeakMap
28 Tổng kết
29 Tài nguyên & Liên kết Hữu ích
1 Giới thiệu Mô-đun
2 Đối tượng là gì?
3 Đối tượng & Giá trị Nguyên thủy
4 Ôn tập về Đối tượng
5 Thêm, Sửa & Xóa Thuộc tính
6 Tên Khóa Đặc biệt & Truy cập Thuộc tính bằng Dấu ngoặc vuông
7 Loại Thuộc tính & Thứ tự Thuộc tính
8 Truy cập Thuộc tính Động & Đặt Thuộc tính Động
9 Ứng dụng Demo & Cú pháp Thuộc tính Tốc ký
10 Hiển thị Phần tử dựa trên Đối tượng
11 Vòng lặp for-in & Xuất Thuộc tính Động
12 Thêm Tính năng Lọc
13 Hiểu về "Chuỗi" (Chuỗi Thuộc tính & Phương thức)
14 Toán tử Spread cho Đối tượng (...)
15 Hiểu về Object.assign()
16 Phân rã Đối tượng (Object Destructuring)
17 Kiểm tra Sự tồn tại của Thuộc tính
18 Giới thiệu "this"
19 Cú pháp Tốc ký cho Phương thức
20 Từ khóa "this" và Hành vi Kỳ lạ của nó
21 call() và apply()
22 Điều Trình duyệt (Đôi khi) Làm với "this"
23 "this" và Hàm Mũi tên
24 "this" - Tóm tắt
25 Getter & Setter
26 Tổng kết
27 Tài nguyên & Liên kết Hữu ích
1 Giới thiệu Mô-đun
2 "Lập trình Hướng đối tượng" (OOP) là gì?
3 Bắt đầu với Mã OOP
4 Định nghĩa & Sử dụng Lớp Đầu tiên
5 Làm việc với Phương thức Khởi tạo
6 Trường (Fields) so với Thuộc tính (Properties)
7 Sử dụng & "Kết nối" Nhiều Lớp
8 Ràng buộc Phương thức Lớp & Làm việc với "this"
9 Thêm Lớp Giỏ hàng và Cửa hàng
10 Giao tiếp có thể là Thử thách!
11 Phương thức & Thuộc tính Tĩnh
12 Tóm tắt Đầu tiên & Lớp so với Đối tượng Chữ
13 Getter & Setter
14 Giới thiệu Kế thừa
15 Triển khai Kế thừa
16 Sử dụng Kế thừa Mọi nơi
17 Ghi đè Phương thức và Hàm tạo super()
18 Thực thi Hàm tạo super(), Thứ tự & "this"
19 Các Cách khác nhau để Thêm Phương thức
20 Thuộc tính Riêng tư
21 Thuộc tính "Giả Riêng tư"
22 Toán tử "instanceof"
23 Lớp Tích hợp sẵn
24 Hiểu về Bộ mô tả Đối tượng
25 Tổng kết
26 Tài nguyên & Liên kết Hữu ích
1 Giới thiệu Mô-đun
2 Giới thiệu Hàm Tạo
3 Hàm Tạo so với Lớp & Hiểu về "new"
4 Giới thiệu Nguyên mẫu
5 Nguyên mẫu - Tóm tắt
6 Làm việc với Nguyên mẫu
7 Chuỗi Nguyên mẫu và Đối tượng "Object" Toàn cục
8 Lớp & Nguyên mẫu
9 Phương thức trong Lớp & trong Hàm Tạo
10 Nguyên mẫu Tích hợp sẵn trong JavaScript
11 Đặt & Lấy Nguyên mẫu
12 Tổng kết
13 Tài nguyên & Liên kết Hữu ích
1 Giới thiệu Mô-đun
2 Các bước & Lập kế hoạch Dự án Đầu tiên
3 Tạo Danh sách Dự án & Phân tích Dữ liệu Phần tử
4 Bắt đầu với Logic "Chuyển đổi Dự án"
5 Truyền Tham chiếu Phương thức
6 Di chuyển Phần tử DOM
7 Thêm Chú giải Công cụ
8 Thêm Kế thừa
9 Tổng kết
10 Tài nguyên & Liên kết Hữu ích
1 Giới thiệu Mô-đun
2 Sử dụng "dataset" (Thuộc tính data-*)
3 Lấy Kích thước Hộp Phần tử
4 Làm việc với Kích thước & Vị trí Phần tử
5 DOM & Nguyên mẫu
6 Định vị Chú giải Công cụ
7 Xử lý Cuộn trang
8 Làm việc với Thẻ
9 Tải Tập lệnh Động
10 Đặt Bộ hẹn giờ & Khoảng thời gian
11 Đối tượng "location" và "history"
12 Đối tượng "navigator"
13 Làm việc với Ngày tháng
14 Đối tượng "Error" & Hàm Tạo
15 Tổng kết
16 Tài nguyên & Liên kết Hữu ích
1 Giới thiệu Mô-đun
2 Giới thiệu Sự kiện trong JavaScript
3 Các Cách khác nhau để Lắng nghe Sự kiện
4 Xóa Trình lắng nghe Sự kiện
5 Đối tượng "event"
6 Các Loại Sự kiện được Hỗ trợ
7 Ví dụ: Cuộn vô hạn Cơ bản
8 Làm việc với "preventDefault()"
9 Hiểu các Giai đoạn "Bắt" & "Nổi"
10 Lan truyền Sự kiện & "stopPropagation()"
11 Sử dụng Ủy quyền Sự kiện
12 Kích hoạt Phần tử DOM Theo chương trình
13 Hàm Xử lý Sự kiện & "this"
14 Kéo & Thả - Lý thuyết
15 Cấu hình Phần tử Có thể Kéo
16 Đánh dấu "Vùng Thả"
17 Thả & Di chuyển Dữ liệu + Phần tử
18 Điều chỉnh cho Firefox
19 Tổng kết
20 Tài nguyên & Liên kết Hữu ích
1 Giới thiệu Mô-đun
2 Hàm Thuần túy & Tác dụng Phụ
3 Hàm Không thuần túy so với Hàm Thuần túy
4 Hàm Nhà máy
5 Closure
6 Closure trong Thực tế
7 Closure & Quản lý Bộ nhớ
8 Tùy chọn: IIFE
9 Giới thiệu "Đệ quy"
10 Đệ quy Nâng cao
11 Tổng kết
12 Tài nguyên & Liên kết Hữu ích
1 Giới thiệu Mô-đun
2 Cách Số Hoạt động & Hành vi trong JavaScript
3 Độ chính xác (Không) Dấu phẩy động
4 Kiểu BigInt
5 Đối tượng Toàn cục "Number" và "Math"
6 Ví dụ: Tạo Số Ngẫu nhiên Giữa Min/Max
7 Khám phá Phương thức Chuỗi
8 Mẫu được Gắn thẻ (Tagged Templates)
9 Giới thiệu Biểu thức Chính quy ("RegEx")
10 Tìm hiểu thêm về Biểu thức Chính quy
11 Tổng kết
12 Tài nguyên & Liên kết Hữu ích
1 Giới thiệu Mô-đun
2 Hiểu Thực thi Mã Đồng bộ ("Mã Đồng bộ")
3 Hiểu Thực thi Mã Bất đồng bộ ("Mã Bất đồng bộ")
4 Mã Chặn & "Vòng lặp Sự kiện"
5 Mã Đồng bộ + Bất đồng bộ - Thứ tự Thực thi
6 Nhiều Callback & setTimeout(0)
7 Bắt đầu với Promise
8 Chuỗi Nhiều Promise
9 Xử lý Lỗi Promise
10 Trạng thái Promise & "finally"
11 Async/ await
12 Async/ await & Xử lý Lỗi
13 Async/ await so với "Promise Thô"
14 Promise.all(), Promise.race() v.v.
15 Tổng kết
16 Tài nguyên & Liên kết hữu ích
1 Giới thiệu Mô-đun
2 Là gì & Tại sao
3 Cách thức Web hoạt động
4 Thêm thông tin nền tảng về Http
5 Bắt đầu với Http
6 Gửi Yêu cầu GET
7 Dữ liệu JSON & Phân tích Dữ liệu
8 Tìm hiểu sâu về Dữ liệu JSON
9 Chuyển Yêu cầu Http thành Promise (với XMLHttpRequest)
10 Gửi Dữ liệu với Yêu cầu POST
11 Kích hoạt Yêu cầu thông qua Giao diện Người dùng
12 Nút "Fetch" Luôn Thêm vào
13 Gửi Yêu cầu DELETE
14 Xử lý Lỗi
15 Sử dụng API fetch()
16 Gửi Dữ liệu POST với API fetch()
17 Thêm Tiêu đề Yêu cầu
18 fetch() & Xử lý Lỗi
19 XMLHttpRequest vs fetch()
20 Làm việc với FormData
21 Tổng kết
22 Tài nguyên & Liên kết hữu ích
1 Giới thiệu Mô-đun
2 Là gì & Tại sao
3 Thêm Thư viện (Ví dụ: lodash)
4 Ví dụ: jQuery
5 Khám phá Thư viện
6 Thư viện Axios & Yêu cầu Http
7 Cân nhắc khi dùng Thư viện Bên thứ ba
8 Tổng kết
9 Tài nguyên & Liên kết hữu ích
1 Giới thiệu Mô-đun
2 Tách mã theo cách Chưa tối ưu
3 Bước đầu tiên hướng tới JavaScript Modules
4 Chúng ta cần một Máy chủ Phát triển!
5 Công việc import / export đầu tiên
6 Chuyển tất cả Tệp sang dùng Modules
7 Thêm các Biến thể Cú pháp Named Export
8 Làm việc với Default Exports
9 Dynamic Imports & Tách mã
10 Mã Module thực thi Khi nào?
11 Phạm vi Module & globalThis
12 Tổng kết
13 Tài nguyên & Liên kết hữu ích
1 Giới thiệu Mô-đun
2 Hạn chế Dự án & Tại sao cần Công cụ
3 Tổng quan Quy trình làm việc
4 Thiết lập Dự án npm
5 Làm việc với Gói npm
6 Kiểm tra mã với ESLint
7 Cấu hình ESLint
8 Quan trọng: Phiên bản Webpack & Cấu hình npm Scripts
9 Đóng gói với Webpack
10 Thêm: Nhiều Điểm vào
11 Chế độ Phát triển & Sửa "Lazy Loading"
12 Sử dụng webpack-dev-server
13 Tạo Sourcemaps
14 Xây dựng cho Môi trường Sản xuất
15 Tối ưu hóa Cuối cùng
16 Sử dụng Gói Bên thứ ba với npm & Webpack
17 Tổng kết
18 Tài nguyên & Liên kết hữu ích
1 Giới thiệu Mô-đun
2 Tùy chọn Bộ nhớ Trình duyệt
3 localStorage & sessionStorage
4 Bắt đầu với Cookies
5 Làm việc với Cookies
6 Bắt đầu với IndexedDB
7 Làm việc với IndexedDB
8 Tổng kết
9 Tài nguyên & Liên kết hữu ích
1 Giới thiệu Mô-đun
2 "Hỗ trợ Trình duyệt" là gì?
3 Xác định Hỗ trợ Trình duyệt cho một Tính năng JavaScript
4 Xác định Hỗ trợ Yêu cầu
5 Giải pháp: Phát hiện Tính năng + Mã Dự phòng
6 Giải pháp: Sử dụng Polyfills
7 Giải pháp: Chuyển đổi Mã
8 Cải tiến: Tự động Phát hiện + Thêm Polyfills
9 Hỗ trợ bên ngoài Trình duyệt thì sao?
10 Hỗ trợ Trình duyệt ngoài Tệp JavaScript
11 Tổng kết
12 Tài nguyên & Liên kết hữu ích
1 Giới thiệu Mô-đun
2 Lưu ý: Dùng Phiên bản LTS của NodeJS
3 Thiết lập Dự án
4 Truy cập DOM
5 Lấy Vị trí Người dùng
6 Thêm Phản hồi (Hiển thị Modal)
7 Ẩn Modal
8 Hiển thị Bản đồ với Google Maps
9 Tiếp tục mà không cần Thẻ tín dụng
10 Tìm Địa chỉ & Lấy Tọa độ
11 Chuyển đổi Đầu vào Người dùng thành Tọa độ
12 Tạo Liên kết "Chia sẻ Địa điểm"
13 Sao chép Liên kết vào Clipboard
14 Hiển thị Màn hình "Địa điểm được Chia sẻ"
15 Tài nguyên & Liên kết hữu ích
1 Giới thiệu Mô-đun
2 Là gì và Tại sao?
3 Ý tưởng đằng sau React.js
4 Phân tích Dự án React
5 Tổng kết
6 Tài nguyên & Liên kết hữu ích
1 Giới thiệu Mô-đun
2 Hiểu về Symbols
3 Symbols Phổ biến
4 Hiểu về Iterators
5 Generators & Đối tượng Iterable
6 Tổng kết Generators & Ví dụ về Iterables Tích hợp
7 Reflect API
8 Proxy API và "Bẫy" đầu tiên
9 Làm việc với Bẫy Proxy
10 Tổng kết
11 Tài nguyên & Liên kết hữu ích
1 Giới thiệu Mô-đun
2 JavaScript là Ngôn ngữ được Lưu trú
3 Cài đặt & Kiến thức cơ bản
4 Hiểu về Modules & Truy cập Tệp
5 Làm việc với Yêu cầu Http đến
6 Gửi Phản hồi (Dữ liệu HTML)
7 Phân tích Dữ liệu đến
8 Giới thiệu & Cài đặt Express.js
9 Express.js: Kiến thức cơ bản
10 Trích xuất Dữ liệu
11 Hiển thị HTML Phía máy chủ với Templates & EJS
12 Nâng cao Dự án của chúng ta
13 Thêm các Route REST cơ bản
14 Hiểu về CORS (Chia sẻ Tài nguyên Nguồn gốc Chéo)
15 Gửi ID Vị trí đến Frontend
16 Thêm Route GET Location
17 Giới thiệu MongoDB (Cơ sở dữ liệu)
18 Xử lý Lỗi NodeJS
19 Tổng kết
20 Tài nguyên & Liên kết hữu ích
1 Giới thiệu Mô-đun
2 Tổng quan Lỗ hổng Bảo mật & Lộ Dữ liệu trong Mã của bạn
3 Tấn công XSS (Cross-Site Scripting)
4 Thư viện Bên thứ ba & XSS
5 Tấn công CSRF (Cross Site Request Forgery)
6 CORS (Chia sẻ Tài nguyên Nguồn gốc Chéo)
7 Tổng kết
8 Tài nguyên & Liên kết hữu ích
1 Giới thiệu Mô-đun
2 Các bước Triển khai
3 Các loại Trang web Khác nhau
4 Ví dụ: Triển khai Host Tĩnh (không có Mã Phía máy chủ)
5 Tự động Chèn Nhập khẩu Script vào HTML
6 Ví dụ: Triển khai Trang động (có Mã Phía máy chủ)
7 Tài nguyên & Liên kết hữu ích
1 Giới thiệu Mô-đun
2 "Tối ưu hóa Hiệu suất" là gì?
3 Tiềm năng Tối ưu hóa
4 Đo lường Hiệu suất
5 Tìm hiểu sâu Công cụ Devtools của Trình duyệt (để Đo Hiệu suất)
6 Tài nguyên Bổ sung
7 Chuẩn bị Thiết lập Kiểm tra
8 Tối ưu hóa Thời gian Khởi động & Sử dụng / Phủ sóng Mã
9 Cập nhật DOM Đúng cách
10 Cập nhật Danh sách Đúng cách
11 Tối ưu hóa những Chi tiết Nhỏ
12 Tối ưu hóa Vi mô (Hãy Suy nghĩ Kỹ!)
13 Tìm & Sửa Rò rỉ Bộ nhớ
14 Tối ưu hóa Hiệu suất Phía máy chủ
15 Tổng kết
16 Tài nguyên & Liên kết hữu ích
1 Giới thiệu Mô-đun
2 Kiểm thử là gì? Tại sao quan trọng?
3 Thiết lập Kiểm thử
4 Viết & Chạy Kiểm thử Đơn vị
5 Viết & Chạy Kiểm thử Tích hợp
6 Viết & Chạy Kiểm thử e2e
7 Xử lý Mã Bất đồng bộ
8 Làm việc với Mocks
9 Tài nguyên & Liên kết hữu ích
1 Giới thiệu Mô-đun
2 Mô hình Lập trình là gì?
3 Lập trình Thủ tục trong Thực tế
4 Lập trình Hướng đối tượng trong Thực tế
5 Lập trình Hàm trong Thực tế
6 Tổng kết
7 Tài nguyên & Liên kết hữu ích
1 Giới thiệu Module
2 "Cấu trúc Dữ liệu" & "Thuật toán" là gì?
3 Ví dụ đầu tiên
4 Giải quyết cùng một vấn đề theo cách khác
5 Hiệu suất & Ký hiệu "Big O"
6 Thêm về Độ phức tạp Thời gian & So sánh Thuật toán
7 Tìm hiểu sâu hơn về Big O
8 Thêm ví dụ minh họa
9 Đi sâu vào Cấu trúc Dữ liệu & Độ phức tạp Thời gian
10 Nơi học thêm & Tổng kết
11 Tài nguyên & Liên kết hữu ích
1 Giới thiệu Module
2 TypeScript là gì và tại sao bạn nên dùng?
3 Làm việc với Kiểu dữ liệu
4 Kiểu dữ liệu Cốt lõi & Tìm hiểu sâu
5 Kiểu Đối tượng, Kiểu Mảng & Kiểu Hàm
6 Kiểu dữ liệu Nâng cao (Kiểu Literal, Kiểu Union, Enums)
7 Lớp & Giao diện
8 Kiểu Generic
9 Cấu hình Trình biên dịch TypeScript
10 Tài nguyên & Liên kết hữu ích
1 Giới thiệu Module
2 Web Components trong thực tế
3 Web Components là gì?
4 Tại sao dùng Web Components?
5 Bắt đầu nào!
6 Hỗ trợ trình duyệt cho Web Components
7 Thiết lập môi trường phát triển
8 Phần tử Tùy chỉnh đầu tiên
9 Tương tác với DOM xung quanh
10 Hiểu về Vòng đời Phần tử Tùy chỉnh
11 Sử dụng "connectedCallback" để truy cập DOM
12 Lắng nghe sự kiện bên trong Component
13 Sử dụng Thuộc tính trên Phần tử Tùy chỉnh
14 Định kiểu cho Phần tử
15 Làm việc với "Shadow DOM"
16 Thêm Mẫu HTML
17 Sử dụng Slots
18 Định nghĩa Mẫu trong JavaScript
19 Sử dụng Thẻ Style trong Shadow DOM
20 Mở rộng Phần tử có sẵn
21 Các bước tiếp theo
22 Hiểu về Shadow DOM Projection
23 Định kiểu Nội dung "slot" bên ngoài Shadow DOM
24 Định kiểu Nội dung "slot" bên trong Shadow DOM
25 Định kiểu Component Host
26 Định kiểu Host có điều kiện
27 Định kiểu với nội dung Host
28 Định kiểu động thông minh với Biến CSS
29 Hoàn thiện Định kiểu tổng thể
30 Quan sát Thay đổi Thuộc tính
31 Điều chỉnh Hành vi Component khi Thuộc tính thay đổi
32 Sử dụng "disconnectedCallback"
33 Thêm phương thức render()
34 Điều chỉnh cuối cùng
35 Các bước tiếp theo
36 Tạo Component Modal cơ bản
37 Thêm Container Modal
38 Định kiểu Phần tử Modal
39 Thêm Logic Ứng dụng chung
40 Mở Modal bằng CSS
41 Phương thức & Thuộc tính Công khai
42 Hiểu về Named Slots
43 Lắng nghe Thay đổi Nội dung Slot
44 Đóng Modal
45 Phát ra Sự kiện Tùy chỉnh
46 Cấu hình Sự kiện Tùy chỉnh
47 Hoàn thành!
48 Tài nguyên & Liên kết hữu ích
1 Tổng kết Khóa học
2 Thêm! (Tổng quan Bước tiếp theo / Chủ đề khác)

Giới thiệu khóa học

Join the most comprehensive and in-depth JavaScript course on Udemy and learn JavaScript from the ground up, in great detail with this bestselling course!

JavaScript is THE most important programming language you need to learn as a web developer - and with this course, you make sure that you will not miss a single thing you have to know as a JavaScript developer!

This is the most comprehensive and modern course you can find on JavaScript - it's based on all my JavaScript knowledge AND teaching experience. It's both a complete guide, starting with the core basics of the language, as well as an extensive reference of the JavaScript language and environment, ensuring that both newcomers as well as experienced JavaScript developers get a lot out of this course!

It's a huge course packed with important knowledge and helpful content:

From the core basics, over advanced concepts and JavaScript specialties, all the way up to expert topics like performance optimization and testing - this course has it all. My goal was to create your go-to resource for the JavaScript language, which you can not just use for learning it but also as a resource you can come back to and look up important topics.

The course is based on my experience as a long-term JavaScript developer as well as a teacher with more than 2,500,000 students on Udemy as well as on my YouTube channel Academind. It's packed with examples, demos, projects, assignments, quizzes and of course videos - all with the goal of giving you the best possible way of learning JavaScript.

What's in the course?

This course is obviously packed with content - I therefore strongly recommend that you check out the full course curriculum to get a clear idea of all the topics covered in the course. In general, here's what you'll find in the course:

  • Modern JavaScript from the start: The JavaScript syntax changed over time - in this course, you'll learn the latest syntax from the start (you'll also learn about the old one though, so that you can work in ANY JS project)

  • ALL the Basics: Variables, constants, functions, how scripts are loaded etc

  • Arrays & Objects: We'll explore these very important data structures in great detail

  • Control Structures: Understand how to run code conditionally and in loops

  • A look behind the Scenes: How JavaScript engines work behind the scenes and what that means for us

  • Deep dives into Core Concepts: ALL the special things about JavaScript function, different syntaxes

  • Working with the DOM: How to manipulate web pages dynamically via JavaScript (including deep dives and different use-cases)

  • Events in JavaScript: Learn how to listen to a broad variety of events (e.g. drag & drop) and execute appropriate code

  • Classes & Object-oriented Programming: Learn how to work with classes, prototypes, the "this" keyword, constructor functions and much more

  • Asynchronous and Synchronous Programming: We'll explore callbacks, promises, async/ await and other important tools and language features to execute code correctly

  • Http Requests: Learn how to send Http requests via JavaScript

  • Tooling, Optimizations & Browser Support: Code splitting, producing small code and ensuring that scripts work in all browsers  - this matters and hence is covered in great detail

  • Libraries & Frameworks: Learn about libraries like Axios or frameworks like React.js - why they matter and how to use them

  • Node.js: Whilst focusing on the browser-side for the majority of the course (because the syntax is the same), we'll also have a dedicated section on Node.js to learn all about that JS host environment

  • Security & Performance Optimizations: Of course security matters, so does performance - no surprise that both is covered in the course!

  • Automated Testing: Testing manually is hard work and can be unreliable - in this course you'll also get an introduction into automated testing

What are the course prerequisites?

  • NO JavaScript knowledge is required - you'll learn it from scratch!

  • You also need NO programming experience other than basic web development knowledge (e.g. how the web works)

  • Basic HTML and CSS knowledge is recommended but not a must-have

Khóa học liên quan

Khám phá thêm các khoá học cùng chủ đề

Hiển thị tất cả khoá học Frontend Development
Hiển thị tất cả khoá học Javascript
Hiển thị tất cả khoá học Programming Languages
Hiển thị tất cả khoá học Web Development
Zalo
Tôi có thể tư vấn khoá học cho bạn 😊