Unlock the powers of functional programming hidden within JavaScript to build smarter, cleaner, and more reliable web apps
About This Book
Write powerful code with the high-level functions that JavaScript offers
Discover what functional programming is, why it's effective, and how it's used in JavaScript
Understand and optimize JavaScript's hidden potential as a true functional language
Who This Book Is For
If you are a JavaScript developer interested in learning functional programming, looking for the quantum leap toward mastering the JavaScript language, or just want to become a better programmer in general, then this book is ideal for you. This guide is aimed at programmers, involved in developing reactive frontend apps, server-side apps that wrangle with reliability and concurrency, and everything in between.
What You Will Learn
Get a run through of the basic JavaScript language constructs
Code using the powerful object-oriented feature in JavaScript
Master DOM manipulation, cross-browser strategies, and ES6
Understand the basic concurrency constructs in Javascript and best performance strategies
Harness the power of patterns for tasks ranging from application building to code testing
Build large-scale apps seamlessly with the help of reactive patterns
Explore advanced design patterns, including dependency injection
Develop more powerful applications with currying and function composition
Create more reliable code with closures and immutable data
In Detail
JavaScript is a high-level, dynamic, untyped, lightweight, and interpreted programming language and functional programming is a style that emphasizes and enables smarter code that minimizes complexity and increases modularity. It's a way of writing cleaner code through clever ways of mutating, combining, and using functions. And JavaScript provides an excellent medium for this approach. By learning how to expose JavaScript's true identity as a functional language, we can implement web apps that are more powerful, easier to maintain and more reliable.
The java script: Functional Programming for JavaScript Developers course will take you on a journey to show how functional programming when combined with other techniques makes JavaScript programming more efficient.
The first module Mastering JavaScript, stress on practical aspects of Javascript development like—Functions and Closures, Runtime debugging techniques, project layout, events and DOM processing, build tools, Object-oriented patterns, isomorphism—everything that a modern Javascript project would need.
The second module, Mastering JavaScript Design Patterns - Second Edition, will explore how design patterns can help you improve and organize your JavaScript code. You'll get to grips with creational, structural, and behavioral patterns as you discover how to put them to work in different scenarios. This updated edition will also delve into reactive design patterns and microservices as they are a growing phenomenon in the world of web development. It will also show you some advanced patterns, including dependency injection and live post processing.
The third module, Functional Programming in JavaScript, will help you to write real-world applications by utilizing a wide range of functional techniques and styles. It explores the core concepts of functional programming common to all functional languages, with examples of their use in JavaScript.
Style and approach
This course will begin with providing insights and practical tips on advanced JavaScript features to build highly scalable web and mobile system and move on to some design patterns with JavaScript. Finally, the course ends with presenting the functional programming techniques and styles in JavaScript.