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
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!