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+
이전강의를 듣고 배운 개념들을 적용해서 함수형 라이브러리를 이용하여 코딩해봤지만 보조함수가 길어지고 명령형 코드를 단순히 보조함수에 옮겨놓은게 아닌가.. 명령형코드가 go에 제어문을 때려박은 함수로 바뀌었을 뿐인듯한 느낌을 지울수가없었습니다.
이 강의를 듣고나서야 map, filter, reduce를 바라보는 다른 시점, 이터러블/이터레이터를 위의 함수로 감싸 모나드를 통한 안전한 함수합성, 재사용성이 높은 함수를 추출하여 추상화하여 계속 사용하는 테크닉 등 이전강의만 듣고 무작정 코딩에 달려들었을때 부족한 2%를 채워줄만한 강의였다고 생각합니다. 아직 이 강의를 완벽하게 소화한건 아니지만 몇번이고 반복해서 들으면서 공부하겠습니다. 좋은 강의 감사합니다.
"다음에 나올 강의 마저 기다려지는 최고의 강의"
처음 들을 때는 이게 뭘까? 어떻게 돌아가는거지? 라는 의문 한 가득이지만
코드 하나하나를 음미하다보면 자바스크립트 언어의 매력에 푹 빠지게 되고
짜임새있는 강의와 전달력에 흠뻑 빠지게 됩니다.
얼릉 강사님께서 여유가 생기셔서 다음 강좌를 만들어주시길 학수고대하고
있습니다. (다음에는 실제 프로젝트를 함께 만들어보는 강의가 추가되었으면
좋겠어요!)
함수형 자바스크립트의 실제 적용 사례를 볼 수 있어서 좋았습니다. 실무에서 해결해야 할 법한 상황을 함수형 프로그래밍을 적용하여 보기 좋고 읽기 쉬운 코드로 해결해 나가는 걸 보니 함수형 프로그래밍을 더 구체적으로 느낄 수 있었습니다. 다음 강의에서는 특정 서비스, 어플리케이션을 함수형 프로그래밍을 적용하여 만들 때 어떻게 설계하고 의존성은 어떻게 관리하는 지 같은 내용을 가르쳐주시면 좋을 것 같습니다. 좋은 강의 감사합니다 :)