Beginning Functional JavaScript -  Anto Aravinth,  Srikanth Machiraju

Beginning Functional JavaScript (eBook)

Uncover the Concepts of Functional Programming with EcmaScript 8
eBook Download: PDF
2018 | 2nd ed.
XVII, 307 Seiten
Apress (Verlag)
978-1-4842-4087-8 (ISBN)
Systemvoraussetzungen
66,99 inkl. MwSt
  • Download sofort lieferbar
  • Zahlungsarten anzeigen

Understand functional programming concepts and the functional nature of the JavaScript language. Starting with an introduction to functional programming concepts, you will learn the key differences between imperative and functional programming. Diving straight into JavaScript functions, you will learn to write them with ES8. Followed by this you will move to higher order functions and learn how 'Function as Data' opens up a world of possibilities. 

You will then build higher order functions with closures. Arrays will then be introduced, followed by a set of APIs you can use with them. You will learn how to transform one function to another using currying and partial application. The compose function will be discussed in detail, followed by functors and monads. After having an in-depth look at applicative functors, you will learn the new features offered in ES8. 

The concluding chapters of Beginning Functional JavaScript will show you how to use a functional toolkit to build a small library that allows you to develop web applications, followed by tips on testing your functional code.

What You Will Learn   

  • Discover functional programming concepts such as string padding and async functions
  • Identify how functions are treated in JavaScript
  • Create a functional library that mimics Underscore.JS
  • Deep dive into ES8 functional features such as spread operators and generators
  • Create a library that works like the react-redux pattern by following the functional paradigm

Who This Book Is For

Novice JavaScript developers.




Anto Aravinth has been in the software industry for more than four 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. 

Srikanth Machiraju has over 10 years of experience as a developer, architect, technical trainer and community speaker. He is currently working as Senior Consultant with Microsoft Hyderabad and leading a team of 100 developers and quality analysts together developing an advanced cloud-based platform for a tech giant in oil industry. With an aim to be an enterprise architect who can design hyper-scale modern applications with intelligence he constantly learns and shares modern application development tactics using cutting-edge platforms and technologies. Prior to Microsoft he was worked with BrainScale as Corporate trainer & Senior Technical Analyst on application design, development, migrations using Azure. He is a tech savvy developer and passionate about embracing new technologies and sharing his learning via blog or community engagements. He has also authored 'Learned Windows Server Containers', 'Developing Bots with Microsoft Bot framework', blogs run his own YouTube channel called 'Tech Talk with Sriks' and active on LinkedIn.


Understand functional programming concepts and the functional nature of the JavaScript language. Starting with an introduction to functional programming concepts, you will learn the key differences between imperative and functional programming. Diving straight into JavaScript functions, you will learn to write them with ES8. Followed by this you will move to higher order functions and learn how 'Function as Data' opens up a world of possibilities. You will then build higher order functions with closures. Arrays will then be introduced, followed by a set of APIs you can use with them. You will learn how to transform one function to another using currying and partial application. The compose function will be discussed in detail, followed by functors and monads. After having an in-depth look at applicative functors, you will learn the new features offered in ES8. The concluding chapters of Beginning Functional JavaScript will show you how to use a functional toolkit to build a small library that allows you to develop web applications, followed by tips on testing your functional code.What You Will Learn   Discover functional programming concepts such as string padding and async functionsIdentify how functions are treated in JavaScriptCreate a functional library that mimics Underscore.JSDeep dive into ES8 functional features such as spread operators and generatorsCreate a library that works like the react-redux pattern by following the functional paradigmWho This Book Is ForNovice JavaScript developers.

Anto Aravinth has been in the software industry for more than four 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.  Srikanth Machiraju has over 10 years of experience as a developer, architect, technical trainer and community speaker. He is currently working as Senior Consultant with Microsoft Hyderabad and leading a team of 100 developers and quality analysts together developing an advanced cloud-based platform for a tech giant in oil industry. With an aim to be an enterprise architect who can design hyper-scale modern applications with intelligence he constantly learns and shares modern application development tactics using cutting-edge platforms and technologies. Prior to Microsoft he was worked with BrainScale as Corporate trainer & Senior Technical Analyst on application design, development, migrations using Azure. He is a tech savvy developer and passionate about embracing new technologies and sharing his learning via blog or community engagements. He has also authored “Learned Windows Server Containers”, “Developing Bots with Microsoft Bot framework”, blogs run his own YouTube channel called “Tech Talk with Sriks” and active on LinkedIn.

Chapter 1: Functional Programming In Simple Terms Chapter Goal: Introduce to the reader the functional programming concepts in simple terms. The chapter will 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. 3.     Talking about side effects 4.     Functions in Math and in programming 5.     Immutability leads to parallel code 6.     Testable 7.     Easy to reason about your code. 8.     Lets understand functions in JavaScript 9.     What we are going to build in this book? Chapter 2:  Fundamentals of JavaScript functions Chapter Goal: This chapter is a refresher on JavaScript functions. What they are and how they can be written in ES7/ES8  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:  Higher Order FunctionsChapter 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.     Data in JavaScript 2.     Functions as Data in JavaScript 3.  Higher order functions 3.     Our first functional approach to “loop” problem Chapter 4:  Closures  Chapter Goal: This chapter going to teach you the fundamentals of closures and how closures help to build higher order functions. No of pages: 30 Sub - Topics: 1. Understanding closures.2. How closures help in higher order functions3. 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: Being Functional On ArraysChapter Goal: This chapter introduces set of APIs’ that one can use on top of Arrays.  No of pages: 20 Sub - 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 6: Currying and Partial ApplicationChapter Goal: In this chapter we are going to see how and what is partial and currying is all about. No of pages: 20 Sub - Topics: 1. What is composition?2. Unix philosophy – 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: Composition and Pipeline Chapter Goal: In this chapter we are going to discuss on how to compose our functions to build a larger functionality No of pages: 20 Sub - Topics: 1. Unix philosophy2. Creating our compose function3. What is pipeline being all about4. Debugging using tap function. Chapter 8: Fun with FunctorsChapter 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 algebra2. Container Theory3. First Functor4. Adding Container functor code to our library5. Showing examples of how to use the functors6. Examples of MayBe and Either functorsChapter 9: Monads In DepthChapter Goal:  In this chapter we are going to talk about how to create monads into our functional library. No of pages: 20 Sub - Topics: 1. Defining the problem 2. Understanding nested map hell3. Implementing join and chain4. The use case of Monads. Chapter 10: 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 functors2. Their use cases3. Adding applicative to our library4. Their Laws Chapter 11: Pause, Resume with Generators Chapter Goal: In this chapter we are going to talk about new features of ES8 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. Let’s create an indefinite lazy stream3. Generators and EventLoop4. Let’s understand Yield5. Making Async sync6. Adding the code to our library7. Showcasing examples. 8. Async and Await, the new concepts of ES8!  Chapter 12: Building a React-like libraryChapter Goal : In this chapter, you will use a Functional Toolkit to build a small library. The library is used to build web applications with minimal efforts.No of Pages: 25Sub – Topics:1. Defining the environment2. Using functions throughout the codebase3. Node APIs to speak with DOM4. JSX and how to convert to functional calls. 5. Handling events6. Handling updates7. RecursionChapter 13: Testing and Closing ThoughtsChapter Goal: In this chapter we are going to see how testing can be a walk in the park if you follow a functional approach and also look at key points to take away from the book.No of Pages: 10Sub – Topics:1. Testing imperative Code2. Testing functional code3. Testing made easy via Functional4. Final thoughts

Erscheint lt. Verlag 5.12.2018
Zusatzinfo XVII, 307 p. 26 illus.
Verlagsort Berkeley
Sprache englisch
Themenwelt Mathematik / Informatik Informatik Programmiersprachen / -werkzeuge
Mathematik / Informatik Informatik Software Entwicklung
Mathematik / Informatik Informatik Web / Internet
Schlagworte Arrays • Async • closures • Currying • es8 • functional javascript • functional js • Functional Programming • javascript functions • js functions • monads • Partial
ISBN-10 1-4842-4087-1 / 1484240871
ISBN-13 978-1-4842-4087-8 / 9781484240878
Haben Sie eine Frage zum Produkt?
PDFPDF (Wasserzeichen)
Größe: 3,8 MB

DRM: Digitales Wasserzeichen
Dieses eBook enthält ein digitales Wasser­zeichen und ist damit für Sie persona­lisiert. Bei einer missbräuch­lichen Weiter­gabe des eBooks an Dritte ist eine Rück­ver­folgung an die Quelle möglich.

Dateiformat: PDF (Portable Document Format)
Mit einem festen Seiten­layout eignet sich die PDF besonders für Fach­bücher mit Spalten, Tabellen und Abbild­ungen. Eine PDF kann auf fast allen Geräten ange­zeigt werden, ist aber für kleine Displays (Smart­phone, eReader) nur einge­schränkt geeignet.

Systemvoraussetzungen:
PC/Mac: Mit einem PC oder Mac können Sie dieses eBook lesen. Sie benötigen dafür einen PDF-Viewer - z.B. den Adobe Reader oder Adobe Digital Editions.
eReader: Dieses eBook kann mit (fast) allen eBook-Readern gelesen werden. Mit dem amazon-Kindle ist es aber nicht kompatibel.
Smartphone/Tablet: Egal ob Apple oder Android, dieses eBook können Sie lesen. Sie benötigen dafür einen PDF-Viewer - z.B. die kostenlose Adobe Digital Editions-App.

Buying eBooks from abroad
For tax law reasons we can sell eBooks just within Germany and Switzerland. Regrettably we cannot fulfill eBook-orders from other countries.

Mehr entdecken
aus dem Bereich
Entwicklung von GUIs für verschiedene Betriebssysteme

von Achim Lingott

eBook Download (2023)
Carl Hanser Verlag GmbH & Co. KG
39,99
Das umfassende Handbuch

von Johannes Ernesti; Peter Kaiser

eBook Download (2023)
Rheinwerk Computing (Verlag)
44,90
Mit über 150 Workouts in Java und Python

von Luigi Lo Iacono; Stephan Wiefling; Michael Schneider

eBook Download (2023)
Carl Hanser Verlag GmbH & Co. KG
29,99