Beginning Functional JavaScript - Anto Aravinth

Beginning Functional JavaScript

Functional Programming with JavaScript Using EcmaScript 6

(Autor)

Buch | Softcover
164 Seiten
2017 | 1st ed.
Apress (Verlag)
978-1-4842-2655-1 (ISBN)
32,09 inkl. MwSt
zur Neuauflage
  • Titel erscheint in neuer Auflage
  • Artikel merken
Zu diesem Artikel existiert eine Nachauflage
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 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
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?
Mehr entdecken
aus dem Bereich
Entwurfsmuster für effektive Softwareentwicklung

von Karl Eilebrecht; Gernot Starke

Buch | Softcover (2024)
Springer Vieweg (Verlag)
19,99