Book description
Explore the functional programming paradigm and the different techniques for developing better algorithms, writing more concise code, and performing seamless testing
Key Features
- Explore this second edition updated to cover features like async functions and transducers, as well as functional reactive programming
- Enhance your functional programming (FP) skills to build web and server apps using JavaScript
- Use FP to enhance the modularity, reusability, and performance of apps
Book Description
Functional programming is a paradigm for developing software with better performance. It helps you write concise and testable code. To help you take your programming skills to the next level, this comprehensive book will assist you in harnessing the capabilities of functional programming with JavaScript and writing highly maintainable and testable web and server apps using functional JavaScript.
This second edition is updated and improved to cover features such as transducers, lenses, prisms and various other concepts to help you write efficient programs. By focusing on functional programming, you’ll not only start to write but also to test pure functions, and reduce side effects. The book also specifically allows you to discover techniques for simplifying code and applying recursion for loopless coding. Gradually, you’ll understand how to achieve immutability, implement design patterns, and work with data types for your application, before going on to learn functional reactive programming to handle complex events in your app. Finally, the book will take you through the design patterns that are relevant to functional programming.
By the end of this book, you’ll have developed your JavaScript skills and have gained knowledge of the essential functional programming techniques to program effectively.
What you will learn
- Simplify JavaScript coding using function composition, pipelining, chaining, and transducing
- Use declarative coding as opposed to imperative coding to write clean JavaScript code
- Create more reliable code with closures and immutable data
- Apply practical solutions to complex programming problems using recursion
- Improve your functional code using data types, type checking, and immutability
- Understand advanced functional programming concepts such as lenses and prisms for data access
Who this book is for
This book is for JavaScript developers who want to enhance their programming skills and build efficient web applications. Frontend and backend developers who use various JavaScript frameworks and libraries like React, Angular, or Node.js will also find the book helpful. Working knowledge of ES2019 is required to grasp the concepts covered in the book easily.
Table of contents
- Title Page
- Copyright and Credits
- Dedication
- About Packt
- Contributors
- Preface
- Technical Requirements
- Becoming Functional - Several Questions
-
Thinking Functionally - A First Example
-
Our problem – doing something only once
- Solution 1 – hoping for the best!
- Solution 2 – using a global flag
- Solution 3 – removing the handler
- Solution 4 – changing the handler
- Solution 5 – disabling the button
- Solution 6 – redefining the handler
- Solution 7 – using a local flag
- A functional solution to our problem
- Summary
- Questions
-
Our problem – doing something only once
- Starting Out with Functions - A Core Concept
- Behaving Properly - Pure Functions
- Programming Declaratively - A Better Style
- Producing Functions - Higher-Order Functions
- Transforming Functions - Currying and Partial Application
- Connecting Functions - Pipelining and Composition
- Designing Functions - Recursion
- Ensuring Purity - Immutability
- Implementing Design Patterns - The Functional Way
- Building Better Containers - Functional Data Types
- Bibliography
-
Answers to Questions
- Chapter 1, Becoming Functional – Several Questions
- Chapter 2, Thinking Functionally – a First Example
- Chapter 3, Starting Out with Functions – a Core Concept
- Chapter 4, Behaving Properly – Pure Functions
- Chapter 5, Programming Declaratively – a Better Style
- Chapter 6, Producing Functions – Higher-Order Functions
- Chapter 7, Transforming Functions – Currying and Partial Application
- Chapter 8, Connecting Functions – Pipelining and Composition
- Chapter 9, Designing Functions – Recursion
- Chapter 10, Ensuring Purity – Immutability
- Chapter 11, Implementing Design Patterns – the Functional Way
- Chapter 12, Building Better Containers – Functional Data Types
- Other Books You May Enjoy
Product information
- Title: Mastering JavaScript Functional Programming - Second Edition
- Author(s):
- Release date: January 2020
- Publisher(s): Packt Publishing
- ISBN: 9781839213069
You might also like
book
Mastering Javascript Functional Programming
Master Functional Programming techniques with this comprehensive guide for writing cleaner, safer, high-performing JavaScript codes About …
book
Functional Programming in JavaScript
Functional Programming in JavaScript teaches JavaScript developers functional techniques that will improve extensibility, modularity, reusability, testability, …
video
Functional Programming in JavaScript video edition
"This book transformed the way that I think about and write JavaScript." Andrew Meredith, Intrinsitech Corporation …
book
Functional JavaScript
How can you overcome JavaScript language oddities and unsafe features? With this book, you’ll learn how …