Viết mã chức năng giúp tăng năng suất! Áp dụng lập trình lặp 👊
Bạn sẽ học được gì? 📖
Với ES6+, JavaScript đã đặc biệt chú trọng đến giao thức iterable , thay thế mã lệnh bằng lập trình iterable. Các giao thức như symbol, iterable, iterator, generator, promise, async và await đều được nêu bật. Các phiên bản tương lai sẽ tiếp tục phát triển các giao thức này, với async, await, for...await-of và Async Iterator.
Khóa học này, tiếp nối khóa học " Lập trình Hàm và JavaScript ES6+", khám phá các ứng dụng đa dạng của lập trình hàm và lập trình lặp. Tham gia khóa học này, bạn sẽ loại bỏ được các mã lệnh dễ bị lỗi như i++, j++, if, for và break. Viết mã lệnh hàm với ít lỗi hơn, năng suất cao hơn và khả năng biểu đạt tuyệt vời !
Lợi ích của lập trình lặp trong JavaScript 💡
Nó có khả năng cấu hình cao vì nó là mã được tạo thông qua giao thức được hỗ trợ ở cấp độ ngôn ngữ.
Bạn có thể sử dụng tính năng xử lý lỗi được hỗ trợ ở cấp độ ngôn ngữ.
Giúp lập trình không đồng bộ/đồng thời an toàn và dễ dàng hơn .
Bạn có thể giảm thiểu lượng mã (chúng tôi cũng có ý tưởng về cách giảm thiểu lượng mã được chuyển đổi trong khi biên dịch).
Sự bất tiện của lập trình ngữ pháp ES5 🥲
Mã dựa trên i++, j++, if, for, break và các thay đổi trạng thái dễ xảy ra lỗi.
Khi phản hồi các thay đổi về phát triển chức năng và lập kế hoạch, lỗi rất dễ xảy ra , khiến việc bảo trì trở nên khó khăn.
Mỗi nhà phát triển có một phong cách mã ưa thích khác nhau, khiến họ khó có thể hiểu được mã của nhau .
Bạn luôn phải viết lại logic và số lượng trường hợp thử nghiệm cũng tăng theo, làm giảm năng suất .
Lời chia sẻ từ một người chia sẻ kiến thức 😀
Bắt đầu từ khoảng năm 2008, nhiều ngôn ngữ lập trình hàm như Clojure, Elixir và Scala dựa trên Lisp, iterable và reactive đã được tạo ra, và nhiều thư viện liên quan cũng được tạo ra bằng các ngôn ngữ khác. Gần đây, lambda đã được áp dụng cho Java, Swift, Kotlin và JavaScript, những ngôn ngữ được sử dụng phổ biến nhất trong lĩnh vực này, và LISP hoặc FP đã được giới thiệu vào chính ngôn ngữ này dưới tên gọi luồng hoặc iterable. Nhận thức về nhu cầu lập trình hàm hoặc lập trình iterable trong các tình huống đa dạng hơn đang lan rộng, và những công nghệ này đang được ứng dụng một cách tự nhiên trong thực tế .
Lập trình hàm/lặp lại đang được áp dụng cho tất cả các ngôn ngữ nhờ giá trị thực tiễn của nó. Lập trình lặp lại là một công cụ mạnh mẽ giúp giảm thiểu vấn đề và tăng khả năng kết hợp. Giờ đây, với việc được ứng dụng trong hầu hết mọi ngôn ngữ, phương pháp này đã trở thành một giải pháp vượt trội.
JavaScript, đặc biệt, sở hữu một bộ giao thức mạnh mẽ đáng kinh ngạc dựa trên các đối tượng lặp, trình lặp, trình tạo và ký hiệu. Các giao thức này yêu cầu các nhà phát triển phải nắm vững ngôn ngữ. Tôi tin rằng sức hấp dẫn thực sự của ES6+ nằm ở "giao thức lặp" này. Lập trình lặp là một công cụ mạnh mẽ giúp tăng năng suất, giảm tỷ lệ lỗi và cho phép tạo ra mã dễ bảo trì.
Lập trình hàm và JavaScript ES6+ Chúng tôi sẽ trình bày chi tiết về các hàm lặp/trình lặp/trình tạo/lập trình đồng thời của ES6+. Nếu bạn không quen với lập trình chức năng/lặp lại, hãy tham gia khóa học này trước!
Khuyến nghị cho những người này
Khóa học này dành cho ai?
Bất cứ ai muốn học lập trình chức năng
Bất cứ ai muốn biết cách áp dụng lập trình lặp
Bất cứ ai tò mò về các trường hợp sử dụng thực tế của chức năng/lặp lại/đồng thời
Bất cứ ai muốn viết mã ngắn gọn và thanh lịch
Bất cứ ai muốn có một bước tiến nhảy vọt với tư cách là nhà phát triển JS
Cần biết trước khi bắt đầu?
Bài giảng về lập trình chức năng và cơ sở hạ tầng JavaScript ES6+
I tried to code using the functional library by applying the concepts learned from the previous lecture, but the auxiliary function became longer and the imperative code was simply moved to the auxiliary function. I couldn't shake the feeling that the imperative code was just changed to a function with control statements in Go.
After listening to this lecture, I think it was a lecture that filled in the 2% that was lacking when I just listened to the previous lecture and blindly rushed into coding, such as looking at map, filter, and reduce from a different perspective, wrapping iterables/iterators with the above functions, safe function composition through monads, and techniques for extracting highly reusable functions and abstracting them for continued use. I haven't fully digested this lecture yet, but I will study it by listening to it over and over again. Thank you for the great lecture.
"The best lecture that makes you look forward to the next lecture"
When you first listen to it, you are full of questions like, what is this? How does it work?
But as you savor each piece of code, you will fall in love with the charm of the JavaScript language
and you will be completely absorbed in the well-organized lecture and delivery.
I am eagerly waiting for the instructor to have more time to create the next lecture.
(I hope the next lecture will include a lecture where you create an actual project together!)
It was good to see a practical application case of functional JavaScript. I was able to feel functional programming more concretely by seeing how situations that need to be solved in practice are solved with functional programming and easy-to-read code. In the next lecture, it would be good to teach how to design and manage dependencies when creating specific services and applications using functional programming. Thank you for the great lecture :)
I ran all the way to the end in one breath. It was really informative and fun.
I think I need to practice to apply it to my work,
but I think I can apply it little by little like I did when I first created the addMaker function.
Thank you. I hope you will continue to give good lectures!
Thank you for your hard work!