Write functional code that increases productivity! Applying iterable programming 👊
What will you learn? 📖
With ES6+, JavaScript has placed a special emphasis on the iterable protocol , replacing imperative code with iterable programming. Protocols such as symbols, iterables, iterators, generators, and promises, async, and await are highlighted. Future versions will continue to evolve these protocols, with async, await, for...await-of, and Async Iterator.
This course, a follow-up to " Functional Programming and JavaScript ES6+, " explores various applications of functional programming and iterable programming. By taking this course, you'll eliminate error-prone imperative code like i++, j++, if, for, and break. Write functional code with fewer errors, higher productivity, and beautiful expressiveness !
The Benefits of Iterable Programming in JavaScript 💡
It is highly composable because it is a code created through a protocol supported at the language level.
You can use error handling supported at the language level.
Makes asynchronous/concurrent programming safer and easier .
You can minimize the amount of code (we also have ideas on how to minimize the amount of code that is converted while transpiling).
The Inconvenience of ES5 Grammar Programming 🥲
Code that relies on i++, j++, if, for, break, and state changes is prone to bugs.
When responding to functional development and planning changes, bugs are likely to occur , making maintenance difficult.
Each developer has a different preferred code style, making it difficult for them to interpret each other's code .
You always have to rewrite the logic, and the number of test cases increases accordingly, which reduces productivity .
A word from a knowledge sharer 😀
Starting around 2008, various functional languages such as Clojure, Elixir, and Scala based on Lisp, iterables, and reactive were created, and many related libraries were created in other languages, and recently, lambdas were applied to Java, Swift, Kotlin, and JavaScript, which are most commonly used in the field, and LISP or FP were introduced to the language itself under the name of streams or iterables. The awareness that functional programming or iterable programming is needed in more diverse situations is spreading, and these technologies are being used naturally in practice .
Functional/iterable programming is being applied to all languages because of its practical value. Iterable programming is a powerful tool for reducing problems and increasing composability. Now, with its application in almost every language, this method has become a language-transcending solution.
JavaScript, in particular, has a remarkably robust set of protocols based on iterables, iterators, generators, and symbols. These protocols tell developers to master the language. I believe the true appeal of ES6+ lies in this "iterable protocol." Iterable programming is a powerful tool that increases productivity, reduces error rates, and enables the creation of maintainable code.
Functional Programming and JavaScript ES6+ We cover ES6+ iterables/iterators/generators/concurrent programming in detail. If you're not familiar with functional/iterable programming, take this course first!
Recommended for these people
Who is this course right for?
Anyone who wants to learn functional programming
Anyone who wants to know how to apply iterable programming
For those who are curious about practical use cases of functional/iterable/concurrency
For those who want to write concise and elegant code
Anyone who wants to take a leap forward as a JS developer
Need to know before starting?
Functional Programming and JavaScript ES6+ Inflearn Lecture
이전강의를 듣고 배운 개념들을 적용해서 함수형 라이브러리를 이용하여 코딩해봤지만 보조함수가 길어지고 명령형 코드를 단순히 보조함수에 옮겨놓은게 아닌가.. 명령형코드가 go에 제어문을 때려박은 함수로 바뀌었을 뿐인듯한 느낌을 지울수가없었습니다.
이 강의를 듣고나서야 map, filter, reduce를 바라보는 다른 시점, 이터러블/이터레이터를 위의 함수로 감싸 모나드를 통한 안전한 함수합성, 재사용성이 높은 함수를 추출하여 추상화하여 계속 사용하는 테크닉 등 이전강의만 듣고 무작정 코딩에 달려들었을때 부족한 2%를 채워줄만한 강의였다고 생각합니다. 아직 이 강의를 완벽하게 소화한건 아니지만 몇번이고 반복해서 들으면서 공부하겠습니다. 좋은 강의 감사합니다.
"다음에 나올 강의 마저 기다려지는 최고의 강의"
처음 들을 때는 이게 뭘까? 어떻게 돌아가는거지? 라는 의문 한 가득이지만
코드 하나하나를 음미하다보면 자바스크립트 언어의 매력에 푹 빠지게 되고
짜임새있는 강의와 전달력에 흠뻑 빠지게 됩니다.
얼릉 강사님께서 여유가 생기셔서 다음 강좌를 만들어주시길 학수고대하고
있습니다. (다음에는 실제 프로젝트를 함께 만들어보는 강의가 추가되었으면
좋겠어요!)
함수형 자바스크립트의 실제 적용 사례를 볼 수 있어서 좋았습니다. 실무에서 해결해야 할 법한 상황을 함수형 프로그래밍을 적용하여 보기 좋고 읽기 쉬운 코드로 해결해 나가는 걸 보니 함수형 프로그래밍을 더 구체적으로 느낄 수 있었습니다. 다음 강의에서는 특정 서비스, 어플리케이션을 함수형 프로그래밍을 적용하여 만들 때 어떻게 설계하고 의존성은 어떻게 관리하는 지 같은 내용을 가르쳐주시면 좋을 것 같습니다. 좋은 강의 감사합니다 :)