- ホーム
- > 洋書
- > 英文書
- > Internet / Web Programming
Full Description
Learn functional programming concepts using JavaScript ES6. You will learn concepts such as currying, partial functions, higher-order functions, and monads.Programming languages have evolved from focusing on procedures to objects and now on function. JavaScript supports functional programming and allows developers to write well-crafted code.What You Will Learn: Master functional programming conceptsIdentify how functions are treated in JavaScriptUnderstand real-world functional libraries and create a functional library that mimics underscore.jsPerform pure-error handling techniques such as functors and monadsDiscover ES6 functional features such as spread operators and generatorsWho This Book Is For:JavaScript developers (or beginners) who want to understand functional programming concepts and the functional nature of the language.
Contents
Chapter 1Introduce to the reader the functional programming concepts in simple English terms. The chapter is supposed to consist of theory and few executable Javascript code both in imperative terms and functional terms, thus showcasing the advantages of functional programming over imperative. No of pages : 25Sub -Topics1. What is functional programming? Why it matters?2. Functional programming thought process and its advantages.1. Talking about side effects2. Functions in Math and in programming3. Immutability leads to parallel code4. Testable5. Easy to reason about your code.3. Lets understand functions in Javascript4. What we are going to build in this book?Chapter 2: Fundamentals of Javascript functions Chapter Goal: This chapter is sort of refresher on Javascript functions. What they are and how they can be written in es6 world etc.No of pages: 20Sub - Topics 1. Javascript Functions2. Functions vs Methods in Javascript3. Functions old way and ES6 way4. Anonymous functions or arrow functions 5. Deep Dive. Functions Prototype. Chapter 3: Functions === Data. Chapter Goal: In this chapter we are going give a different thought process on how functions are treated as data in Javascript world. We will be covering what is data and how function as data allows several things possible in Javascript. No of pages: 20Sub - Topics: 1. Datas in Javascript2. Functions as Data in Javascript3. Higher order functions3. Our first functional approach to "loop" problemChapter 4: Arrays Chapter Goal: This chapter is going to create lot of functional libraries for the Arrays. The chapter explains the importance of Arrays as collections in Javascript,No of pages: 30Sub - Topics: 1. Arrays in Javascript2. How to access arrays, delete, loop them etc3. Create functional libraries using the above approaches learned. 4. Example problem and using the libraries that we created to show how functional programming helps them. Chapter 5: Closures and Currying Chapter Goal: This chapter introduces yet another important concepts in Javascript called closures. No of pages: 20Sub - Topics: 1. What all functions can see?2. Remembering where you born.3. Introducing Closures. 4. Using closures create a in built bind function5. Introduce Currrying with that created function6. Use closures create functions and add it to our functional lib7. Show examples of the above created functions. 8. Are closures impure?Chapter 6: Composition and Pipelines Chapter Goal: In this chapter we are going to see how and what is compostion. No of pages: 20Sub - Topics: 1. What is compostion?2. Unix philoshophy - build small things well and good3. Creating composing function4. Currying leads to Composition. 5. Pipelines6. Showing examples of how to use composition7. Category theoryChapter 7: Functors Chapter Goal: In this chapter we are going to discuss on what Functors are and how they will be useful to us. No of pages: 20Sub - Topics: 1. A bit of algebra2. Container Theory3. First Functor4. Adding Container functor code to our library5. Showing examples of how to use the functorsChapter 8: MayBe And Either Functors Chapter Goal: In this chapter we are going to talk about these two functors in depth and create them in our functional library. No of pages: 20Sub - Topics: 1. Handling error handling in functional world2. Introducing MayBe functors3. Adding functors to our library4. Showing examples5. Introducing Either Functors6. Adding Either functors to our library7. Showing examples8. Real world functors.9. Other functors I/O , Promise and giving exercises. Chapter 9: Applicative Functors Chapter Goal: In this chapter we are going to talk about applicative functors in depth and create them in our functional library. No of pages: 20Sub - Topics: 1. What are applicative functors2. Their use cases3. Adding applicative to our library4. Their LawsChapter 10: Lets be functional about GeneratorsChapter Goal: In this chapter we are going to talk about new features of ES6 called generators. We are going to see how to use it wisely to make async sync. No of pages: 20Sub - Topics:1. What are generators? 2. Lets create an indefinite lazy stream3. Generators and EventLoop4. Lets understand Yield5. Making Async sync6. Adding the code to our library7. Showcasing examples. Chapter 11: Testing and Closing ThoughtsChapter Goal: In this chapter we are going to see how testing is easy if we follow functional concepts and final thoughtsNo of Pages: 10Sub - Topics:1. Testing imperative Code2. Testing functional code3. Testing made easy via Functional4. Final thoughtsFew Sections:I want to add these sections as well, for now noting them down in the draft so that I can fit them where they are needed. * Tail Call optimization* Recursion* Functional code can allow you to memorize the result* Cacheable Code is allowed in Functional code base



