Mastering JavaScript Functional Programming: In-depth guide for writing robust and maintainable JavaScript code in ES8 and beyond
<p><b>Master Functional Programming techniques with this comprehensive guide for writing cleaner, safer, high-performing JavaScript codes</b></p><h4>Key Features</h4><ul><li>Become proficient and skilled with Functional Programming in JavaScript to solve real-world development problems</li><li>Successfully apply Functional Programming concepts and techniques to everyday JavaScript programming</li><li>Bring modularity, reusability, testability, and performance to your web apps</li></ul><h4>Book Description</h4><p>Functional programming is a programming paradigm for developing software using functions. Learning to use functional programming is a good way to write more concise code, with greater concurrency and performance. The JavaScript language is particularly suited to functional programming.</p><p>This book provides comprehensive coverage of the major topics in functional programming with JavaScript to produce shorter, clearer, and testable programs.</p><p>You'll delve into functional programming; including writing and testing pure functions, reducing side-effects, and other features to make your applications functional in nature.</p><p>Specifically, we'll explore techniques to simplify coding, apply recursion for loopless coding, learn ways to achieve immutability, implement design patterns, and work with data types.</p><p>By the end of this book, you'll have developed the JavaScript skills you need to program functional applications with confidence.</p><h4>What you will learn</h4><ul><li>Create more reliable code with closures and immutable data</li><li>Convert existing methods into pure functions, and loops into recursive methods</li><li>Develop more powerful applications with currying and function composition</li><li>Separate the logic of your system from implementation details</li><li>Implement composition and chaining techniques to simplify coding</li><li>Use functional programming techniques where it makes the most sense</li></ul><h4>Table of Contents</h4><ol><li>Becoming Functional - Several Questions</li><li>Thinking Functionally - A First Example</li><li>Starting Out with Functions - A Core Concept</li><li>Behaving Properly - Pure Functions</li><li>Programming Declaratively - A Better Style</li><li>Producing Functions - Higher-Order Functions</li><li>Transforming Functions - Currying and Partial Application</li><li>Connecting Functions - Pipelining and Composition</li><li>Designing Functions - Recursion</li><li>Ensuring Purity - Immutability</li><li>Implementing Design Patterns - The Functional Way</li><li>Building Better Containers - Functional Data Types</li></ol>