Functional JavaScript 1st Edition by Michael Fogus, Steve Vinoski, Jeremy Ashkenas – Ebook PDF Instant Download/Delivery: 1449360726, 9781449360726
Full download Functional JavaScript 1st Edition after payment

Product details:
ISBN 10: 1449360726
ISBN 13: 9781449360726
Author: Michael Fogus, Steve Vinoski, Jeremy Ashkenas
Functional JavaScript 1st Edition Table of contents:
1. Introducing Functional JavaScript
The Case for JavaScript
Some Limitations of JavaScript
Getting Started with Functional Programming
Why Functional Programming Matters
Functions as Units of Abstraction
Encapsulation and Hiding
Functions as Units of Behavior
Data as Abstraction
A Taste of Functional JavaScript
On Speed
The Case for Underscore
Summary
2. First-Class Functions and Applicative Programming
Functions as First-Class Things
JavaScript’s Multiple Paradigms
Imperative programming
Prototype-based object-oriented programming
Metaprogramming
Applicative Programming
Collection-Centric Programming
Other Examples of Applicative Programming
reduceRight
find
reject
all
any
sortBy, groupBy, and countBy
Defining a Few Applicative Functions
Data Thinking
“Table-Like” Data
Summary
3. Variable Scope and Closures
Global Scope
Lexical Scope
Dynamic Scope
JavaScript’s Dynamic Scope
Function Scope
Closures
Simulating Closures
Free variables
Shadowing
Using Closures
Closures as an Abstraction
Summary
4. Higher-Order Functions
Functions That Take Other Functions
Thinking About Passing Functions: max, finder, and best
Tightening it up a bit
More Thinking About Passing Functions: repeat, repeatedly, and iterateUntil
Use functions, not values
I said, “Use functions, not values”
Functions That Return Other Functions
Capturing Arguments to Higher-Order Functions
Capturing Variables for Great Good
Take care when mutating values
A Function to Guard Against Nonexistence: fnull
Putting It All Together: Object Validators
Summary
5. Function-Building Functions
The Essence of Functional Composition
Mutation Is a Low-Level Operation
Currying
To Curry Right, or To Curry Left
Automatically Currying Parameters
Building new functions using currying
Currying three parameters to implement HTML hex color builders
Currying for Fluent APIs
The Disadvantages of Currying in JavaScript
Partial Application
Partially Applying One and Two Known Arguments
Partially Applying an Arbitrary Number of Arguments
Partial Application in Action: Preconditions
Stitching Functions End-to-End with Compose
Pre- and Postconditions Using Composition
Summary
6. Recursion
Self-Absorbed Functions (Functions That Call Themselves)
Graph Walking with Recursion
Depth-First Self-Recursive Search with Memory
Tail (self-)recursion
Recursion and Composing Functions: Conjoin and Disjoin
Codependent Functions (Functions Calling Other Functions That Call Back)
Deep Cloning with Recursion
Walking Nested Arrays
Too Much Recursion!
Generators
The Trampoline Principle and Callbacks
Recursion Is a Low-Level Operation
Summary
7. Purity, Immutability, and Policies for Change
Purity
The Relationship Between Purity and Testing
Separating the Pure from the Impure
Property-Testing Impure Functions
Purity and the Relationship to Referential Transparency
Purity and the Relationship to Idempotence
Immutability
If a Tree Falls in the Woods, Does It Make a Sound?
Immutability and the Relationship to Recursion
Defensive Freezing and Cloning
Observing Immutability at the Function Level
Observing Immutability in Objects
Objects Are Often a Low-Level Operation
Policies for Controlling Change
Summary
8. Flow-Based Programming
Chaining
A Lazy Chain
Promises
Pipelining
Data Flow versus Control Flow
Finding a Common Shape
A Function to Simplify Action Creation
Summary
9. Programming Without Class
Data Orientation
Building Toward Functions
Mixins
Core Prototype Munging
Class Hierarchies
Changing Hierarchies
Flattening the Hierarchy with Mixins
New Semantics via Mixin Extension
New Types via Mixin Mixing
Methods Are Low-Level Operations
}).call(“Finis”);
A. Functional JavaScript in the Wild
Functional Libraries for JavaScript
Functional JavaScript
Underscore-contrib
RxJS
Bilby
allong.es
Other Functional Libraries
Functional Programming Languages Targeting JavaScript
ClojureScript
CoffeeScript
Roy
Elm
B. Annotated Bibliography
Papers/Books/Blog Posts/Talks
Presentations
Blog Posts
Journal Articles
People also search for Functional JavaScript 1st Edition:
javascript functional or object oriented
javascript functional object
javascript functional operators
javascript functional vs object oriented
is javascript functional or imperative
Tags: Michael Fogus, Steve Vinoski, Jeremy Ashkenas, Functional JavaScript


