Mô tả

Tại sao nên học Javascript

Hiện tại tính ứng dụng của Javascript rất lớn từ 

  • lập trình web front end với các framework hàng đầu: JQuery, React, Angular, VueJS

  • backend với các framework của NodeJS

  • lập trình ứng dụng di động với React Native, Ionic, NativeScript, vv

  • lập trình game với Unity

  • lập trình robot, IoT

Xu hướng gần đây của giới lập trình là full stack developer. Để tránh việc dùng nhiều ngôn ngữ thì lựa chọn Javascript là khả dĩ nhất.

Scott Hanselman - một cây đa cây đề trong giới lập trình đã từng nói rằng:

C# và Javascript là 2 ngôn ngữ phổ biến và đáng để học nhất hiện tại cũng nhưng trong tương lai

Mọi người đều nói về Javascript, khắp nơi đều dùng Javascript, công việc Javascript không bao giờ thiếu, liệu bạn có thể làm ngơ với n

Javascript có khó học?

Chính bản thân mình cũng từng cho rằng Javascript khó học và nó là một ngôn ngữ tạp nham. Người tạo ra nó cũng chỉ mất 10 ngày.

Và không riêng gì mình, các lập trình viên trên thế giới cũng chửi Javascript rất nhiều.

Nhưng không phải ngẫu nhiên mà Javascript lại phổ biến.

Bjarne Stroustrup - cha đẻ của ngôn ngữ lập trình C++ đã từng nói:

“There are only two kinds of languages: the ones people complain about and the ones nobody uses.”
( Có 2 loại ngôn ngữ: loại mà mọi người chê và loại không ai dùng )

Tức là nó quá phổ biến, nhiều người học nên mới có nhiều người chê. ( 9 người 10 ý mà ), những ngôn ngữ như Dart - đối thủ của Javacript do Google làm ra - ít người chê, ít người than khó học nên cũng ít phổ biến. Vậy chúng ta cần hiểu được tại sao Javascript khó học để có thể học nó dễ dàng hơn.

Trong quá trình tìm hiểu Javascript, mình thấy có nguyên nhân khiến việc học JS trở nên khó khăn:

  1. Học chung với HTML/CSS: Rất nhiều khóa học online, sách đều viết chung học theo combo HTML/CSS/Javascript này.

  2. Vừa học Javascript, vừa học framework của nó: như vừa học Javascript vừa học React, JQuery, NodeJS, Express, vv

  3. Học phiên bản mới của Javascript là ES6/ES7 mà không học Javascript thuần.

  4. Đem tư tưởng, kiến thức đã biết từ ngôn ngữ khác ví dụ C++/C#/Java qua Javascript

Với 2 ý đầu đó chính là sai lầm của việc học nhiều thứ cùng lúc. Học nhiều thứ lần lượt sẽ giúp chúng ta liên kết các nơron thần kinh lại. Nhưng học nhiều thứ một lần sẽ khiến chúng ta mất tập trung, không hiểu thấu đáo được vấn đề. Javascript phổ biến như vậy, chỉ cần hiểu bản chất của nó là ta có thể tha hồ học những framework của nó rồi. Đừng vội vàng học nhiều thứ.

Học phiên bản mới và bỏ qua phiên bản trước. Phiên bản mới cũng chỉ là bản nâng cấp. Ý tưởng, tư duy vẫn tồn tại đó. Khi dùng tính năng mới trong ES6, ES7 ta không hiểu tại sao phải dùng chúng. Vì thế sẽ bị khó khăn khi đọc library vì nhiều library trộn lẫn 2 style cũ và mới.

Javascript là first class functions language cũng như dynamic typing. Nó khác hẳng so với static language như C++/C# vì thế nếu cứ suy nghĩ như cũ sẽ rất khó học.

Hiểu rõ nhưng khó khăn trên, mình đã thiết kế một khóa học hoàn toàn 100% nội dụng là Javascript, không HTML, không CSS, không framework.

Giới thiệu Javascript Chuyên Sâu

Nội dung của khóa học gồm các phần sau:

  1. Khái niệm cơ bản

  2. Toán tử

  3. Hàm cũng là object

  4. this trong Javascript

  5. Hiểu thêm về hàm

  6. Hướng đối tượng trong Javascript

  7. ES6: arrow function Promise, Destructuring, Spread Operator, Symbols, Proxies, Generators

  8. Functional Programming

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

Hiểu rõ scope trong Javascript

Hiểu rõ toán tử trong Javascript

Hiểu rõ Object và Function trong Javascript

Xử dụng thành thạo syntax của ES6

Áp dụng kiến thức Javascript và các framework phổ biến hiện nay

Có thể đọc được các libary nổi tiếng và phổ biến hiện nay như React Native, NodeJS, Mongoose, Mocha

Yêu cầu

  • Cơ bản về biến, vòng lặp ở bất kỳ ngôn ngữ lập trình nào

Nội dung khoá học

12 sections

Khái niệm cơ bản

6 lectures
Syntax Parser, Execution Context, Lexical Environment là gì
07:25
Name-Value Pair và Object là gì?
03:31
Global Object là gì?
10:55
Hoisting là gì?
05:01
Execution Stack là gì?
06:13
Scope Chain là gì?
05:22

Toán tử

6 lectures
Dynamic Typing là gì?
02:45
6 Primitives Type trong Javascript
02:56
Toán tử và thứ tự ưu tiên
05:28
Coercion trong Javascript
06:06
Tại sao nên dùng so sánh === trong Javascript?
05:08
Toán tử || và &&
04:47

Hàm cũng là object

4 lectures
Khởi tạo object
08:37
Truy cập thành phần của object
01:44
First class functions languages là gì?
05:44
Function Declaration và Function Expression
03:14

this trong Javascript

5 lectures
Call-site là gì
04:44
Implicit binding là gì?
03:44
Implicit lost là gì
02:17
this trong object
05:02
Giới thiệu binding
02:26

Hiểu thêm về hàm

10 lectures
Function Arguments là gì?
07:08
Function overloading là gì
06:01
ES6 default arguments là gì
02:49
Immediately-invoked function expression là gì
06:31
Closure là gì?
08:04
Closure - return object
04:28
Closure - return mảng function
06:56
Callback là sao?
07:01
bind, call và apply
07:20
function borrowing là gì?
02:59

Hướng đối tượng trong Javascript

14 lectures
Tổng quát về hướng đối tượng
05:30
Prototype Inheritance là gì? Prototype chain là sao?
04:19
Demo về prototype chain
04:48
Hiểu rõ về __proto__
04:36
Reflection là gì?
06:26
Function constructor và từ khóa new
06:22
Sử dụng .prototype như thế nào?
07:32
Ưu điểm của .prototype
02:22
Tạo primitive type từ function constructor?
02:45
Tạo đối tượng với Object.create
03:00
Khái niệm mở rộng một object mặc định
02:45
ES6: tạo object với class
04:20
Kế thừa một class với extends
06:57
Kế thừa một class với extends phần 2
04:57

ES6

5 lectures
var let và const
04:04
Khi nào dùng var, let và const?
04:43
Giới thiệu arrow function
05:01
this trong arrow function
09:25
Khi nào không nên dùng arrow function
03:20

ES6 - Destructuring và Spread Operator

6 lectures
Destructuring object
07:03
Giá trị mặc định Destructuring
02:52
Destructuring array
11:28
Destructuring function
05:55
Giới thiệu Spread Operator và cách dùng
05:24
...spread operator và ...rest operator khác nhau thế nào
12:23

Object Literal Upgrade - Tạo Object không thể cool hơn

3 lectures
Property value shorthand - Cùng tên bỏ được
05:25
Method definition shorthand
04:23
Computed property keys
02:58

Concurrency model and Event Loop

3 lectures
Javascript Engine là gì? V8 là sao?
03:57
Synchronous và Asynchronous, callback queue và event loop là gì?
07:31
Blocking và Non-Blocking là gì?
09:37

ES6 - Promise

8 lectures
Giới thiệu và cách dùng Promise
10:29
3 Trạng thái của Promise
06:22
Tự tạo Promise
10:04
Tại sao không dùng callback
03:30
Hiểu rõ Promise chaining
12:24
[Challenge] Promise chaining
04:20
Sử dụng nhiều Promise với Promise.all
15:45
ES7 Async/Await - Bước tiến của Promise?
09:18

Lưu ý

4 lectures
Có nên thêm dấu ;
03:34
use strict
10:06
Bạn đã hiểu vòng lặp trong Javascript chưa ?
07:42
for .... of
09:07

Đánh giá của học viên

Chưa có đánh giá
Course Rating
5
0%
4
0%
3
0%
2
0%
1
0%

Bình luận khách hàng

Viết Bình Luận

Bạn đánh giá khoá học này thế nào?

image

Đăng ký get khoá học Udemy - Unica - Gitiho giá chỉ 50k!

Get khoá học giá rẻ ngay trước khi bị fix.