Beginning Functional JavaScript
Apress (Verlag)
978-1-4842-2655-1 (ISBN)
- Titel erscheint in neuer Auflage
- Artikel merken
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 concepts
Identify how functions are treated in JavaScript
Understand real-world functional libraries and create a functional library that mimics underscore.js
Perform pure-error handling techniques such as functors and monads
Discover ES6 functional features such as spread operators and generators
Who This Book Is For:
JavaScript developers (or beginners) who want to understand functional programming concepts and the functional nature of the language.
Anto Aravinth has been in the software industry for more than 4 years. He has developed many systems that are written in JavaScript and JavaWorld. Anto has knowledge of the fundamentals of JavaScript and how it works and has trained many people. Anto is an Open Source contributor to the React, Groovy, and Selenium frameworks and is co-author of React version 15. He also loves playing table tennis!
Chapter 1: Functional Programming In Simple Terms Chapter Goal: Introduce 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 : 25
Sub -Topics
1. What is functional programming? Why it matters?
2. Functional programming thought process and its advantages.
1. Talking about side effects
2. Functions in Math and in programming
3. Immutability leads to parallel code
4. Testable
5. Easy to reason about your code.
3. Lets understand functions in Javascript
4. 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: 20
Sub - Topics
1. Javascript Functions
2. Functions vs Methods in Javascript
3. Functions old way and ES6 way
4. 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: 20
Sub - Topics:
1. Datas in Javascript
2. Functions as Data in Javascript
3. Higher order functions
3. Our first functional approach to “loop” problem
Chapter 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: 30
Sub - Topics:
1. Arrays in Javascript
2. How to access arrays, delete, loop them etc
3. 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: 20
Sub - Topics:
1. What all functions can see?
2. Remembering where you born.
3. Introducing Closures.
4. Using closures create a in built bind function
5. Introduce Currrying with that created function
6. Use closures create functions and add it to our functional lib
7. 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: 20
Sub - Topics:
1. What is compostion?
2. Unix philoshophy – build small things well and good
3. Creating composing function
4. Currying leads to Composition.
5. Pipelines
6. Showing examples of how to use composition
7. Category theory
Chapter 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: 20
Sub - Topics:
1. A bit of algebra
2. Container Theory
3. First Functor
4. Adding Container functor code to our library
5. Showing examples of how to use the functors
Chapter 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: 20
Sub - Topics:
1. Handling error handling in functional world
2. Introducing MayBe functors
3. Adding functors to our library
4. Showing examples
5. Introducing Either Functors
6. Adding Either functors to our library
7. Showing examples
8. 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: 20
Sub - Topics:
1. What are applicative functors
2. Their use cases
3. Adding applicative to our library
4. Their Laws
Chapter 10: Lets be functional about Generators
Chapter 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: 20
Sub – Topics:
1. What are generators?
2. Lets create an indefinite lazy stream
3. Generators and EventLoop
4. Lets understand Yield
5. Making Async sync
6. Adding the code to our library
7. Showcasing examples.
Chapter 11: Testing and Closing Thoughts
Chapter Goal: In this chapter we are going to see how testing is easy if we follow functional concepts and final thoughts
No of Pages: 10
Sub – Topics:
1. Testing imperative Code
2. Testing functional code
3. Testing made easy via Functional
4. Final thoughts
Few 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
Erscheinungsdatum | 28.03.2017 |
---|---|
Zusatzinfo | 5 Illustrations, black and white; XV, 164 p. 5 illus. |
Verlagsort | Berkley |
Sprache | englisch |
Maße | 155 x 235 mm |
Gewicht | 2876 g |
Themenwelt | Mathematik / Informatik ► Informatik ► Software Entwicklung |
Mathematik / Informatik ► Informatik ► Web / Internet | |
Schlagworte | closures • functional javascript • functional js • Functional Programming • javascript functions • js functions |
ISBN-10 | 1-4842-2655-0 / 1484226550 |
ISBN-13 | 978-1-4842-2655-1 / 9781484226551 |
Zustand | Neuware |
Haben Sie eine Frage zum Produkt? |
aus dem Bereich