Hướng dẫn javascript chuyên sâu

Bạn sẽ học được gì trong khóa học:

  • Hiểu rõ scope.
  • Hiểu rõ toán tử trong.
  • Hiểu rõ Object và Function.
  • 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.

Nội dung của khóa học Javascript 2021 chuyên sâu:

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

  • Syntax Parser, Execution Context, Lexical Environment là gì?
  • Name-Value Pair và Object là gì?
  • Global Object là gì?
  • Hoisting là gì?
  • Execution Stack là gì?
  • Scope Chain là gì?

2.Toán tử.

  • Dynamic Typing là gì?
  • 6 Primitives Type trong Javascript gồm những cái nào?
  • Toán tử và thứ tự ưu tiên là gì?
  • Coercion trong JS.
  • Tại sao nên dùng so sánh === trong JS.
  • Toán tử và && hoạt động ra sao.

3. Hàm cũng là object

  • Khởi tạo object.
  • Truy cập thành phần của object.
  • First class functions languages là gì?
  • Function Declaration và Function Expression.

4. This trong Javascript.

  • Call-site là gì?
  • Implicit binding là gì?
  • Implicit lost là gì?
  • This trong object.
  • Giới thiệu binding.

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

  • Function Arguments là gì?
  • Function overloading là gì?
  • ES6 default arguments là gì?
  • Immediately-invoked function expression là gì?
  • Closure là gì?
  • Closure – return object.
  • Closure – return mảng function.
  • Callback là sao?
  • Bind, call và apply.
  • Function borrowing là gì?

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

  • Tổng quát về hướng đối tượng.
  • Prototype Inheritance là gì Prototype chain là sao?
  • Demo về prototype chain.
  • Hiểu rõ về __proto__ trong Javascript.
  • Reflection là gì?
  • Function constructor và từ khóa new.
  • Sử dụng .prototype như thế nào?
  • Ưu điểm của .prototype
  • Tạo primitive type từ function constructor.
  • Tạo đối tượng với Object.create.
  • Khái niệm mở rộng một object mặc định.
  • ES6 tạo object với class.
  • Kế thừa một class với extends.
  • Kế thừa một class với extends phần 2.

8. ES6 - Destructuring và Spread Operator.

  • Destructuring object.
  • Giá trị mặc định Destructuring.
  • Destructuring array.
  • Destructuring function.
  • Giới thiệu Spread Operator và cách dùng.
  • …spread operator và …rest operator khác nhau thế nào?

11. ES6 - Promise trong Javascript.

  • Giới thiệu và cách dùng Promise.
  • 3 Trạng thái của Promise.
  • Tự tạo Promise.
  • Tại sao không dùng callback?
  • Hiểu rõ Promise chaining.
  • [Challenge] Promise chaining.
  • Sử dụng nhiều Promise với Promise.all
  • ES7 AsyncAwait – Bước tiến của Promise

12. Một số lưu ý.

  • Có nên thêm dấu ;
  • use strict.
  • Bạn đã hiểu vòng lặp trong Javascript chưa?
  •  for …. of trong Javascript.

Yêu cầu trong khóa học:

  • Máy vi tính kết nối internet (Windows, Ubuntu hoặc MacOS).
  • Ý thức tự học cao, trách nhiệm cao, kiên trì bền bỉ không ngại cái khó.
  • Không được nóng vội, bình tĩnh học, làm bài tập sau mỗi bài học.
  • Bạn không cần biết gì hơn nữa, trong khóa học tôi sẽ chỉ cho bạn những gì bạn cần phải biết.

Có thể bạn quan tâm:

  • Cách cải thiện danh sách eBay
  • Cách SEO website càn quét thứ hạng Google nhanh nhất
  • Phương pháp Marketing cho Dropshipping: Chọn thế nào cho đúng
  • Làm 5 dự án website để trở thành Developer
  • 11 tool marketing Amazon hiệu quả

Đăng nhập

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 NativeIonic, 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:

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.