舉報

會員
Hands-On Functional Programming with TypeScript
Functionalprogrammingisapowerfulprogrammingparadigmthatcanhelpyoutowritebettercode.However,learningfunctionalprogrammingcanbecomplicated,andtheexistingliteratureisoftentoocomplexforbeginners.ThisbookisanapproachableintroductiontofunctionalprogrammingandreactiveprogrammingwithTypeScriptforreaderswithoutpreviousexperienceinfunctionalprogrammingwithJavaScript,TypeScript,oranyotherprogramminglanguage.Thebookwillhelpyouunderstandthepros,cons,andcoreprinciplesoffunctionalprogramminginTypeScript.Itwillexplainhigherorderfunctions,referentialtransparency,functionalcomposition,andmonadswiththehelpofeffectivecodeexamples.UsingTypeScriptasafunctionalprogramminglanguage,you’llalsobeabletobrushuponyourknowledgeofapplyingfunctionalprogrammingtechniques,includingcurrying,laziness,andimmutability,toreal-worldscenarios.Bytheendofthisbook,youwillbeconfidentwhenitcomestousingcorefunctionalandreactiveprogrammingtechniquestohelpyoubuildeffectiveapplicationswithTypeScript.
目錄(168章)
倒序
- coverpage
- Title Page
- Copyright and Credits
- Hands-On Functional Programming with TypeScript
- Dedication
- About Packt
- Why subscribe?
- Packt.com
- Foreword
- Contributors
- About the author
- About the reviewers
- Packt is searching for authors like you
- Preface
- Who this book is for
- What this book covers
- To get the most out of this book
- Download the example code files
- Download the color images
- Conventions used
- Get in touch
- Reviews
- Functional Programming Fundamentals
- Is TypeScript a functional programming language?
- The benefits of functional programming
- Introducing functional programming
- Pure functions
- side-effects
- Referential transparency
- Stateless versus stateful
- Declarative versus imperative programming
- Immutability
- Functions as first-class citizens
- Lambda expressions
- Function arity
- Higher-order functions
- Laziness
- Summary
- Mastering Functions
- Function types
- Named and anonymous functions
- Function declarations and function expressions
- Working with function parameters
- Trailing commas in function arguments
- Functions with optional parameters
- Functions with default parameters
- Functions with rest parameters
- Function overloading
- Specialized overloading signature
- Function scope and hoisting
- Immediately-invoked functions
- Tag functions and tagged templates
- Summary
- Mastering Asynchronous Programming
- Callbacks and higher-order functions
- Arrow functions
- Callback hell
- Promises
- Covariant checking in callback parameters
- Generators
- Asynchronous functions – async and await
- Asynchronous generators
- Asynchronous iteration (for await…of)
- Delegating to another generator (yield*)
- Summary
- The Runtime – The Event Loop and the this Operator
- The environment
- Understanding the event loop
- Frames
- Stack
- Queue
- Heap
- The event loop
- The this operator
- The this operator in the global context
- The this operator in the function context
- The call apply and bind methods
- Summary
- The Runtime – Closures and Prototypes
- Prototypes
- Instance properties versus class properties
- Prototypal inheritance
- Prototype chains and property shadowing
- Accessing the prototype of an object
- Closures
- Static variables powered by closures
- Private members powered by closures
- Summary
- Functional Programming Techniques
- Composition techniques
- Composition
- Partial application
- Currying
- strictBindCallApply
- Pipes
- Other techniques
- Point-free style
- Recursion
- Pattern matching
- Summary
- Category Theory
- Category theory
- Functors
- Applicative
- Maybe
- Either
- Monads
- Summary
- Immutability Optics and Laziness
- Immutability
- Optics
- Lenses
- Prisms
- Laziness
- Summary
- Functional-Reactive Programming
- Reactive programming
- Functional programming versus functional-reactive programming
- The benefits of functional-reactive programming
- Working with observables
- The observer pattern
- The iterator pattern
- Creating observables
- Creating observables from a value
- Creating observables from arrays
- Creating observables from events
- Creating observables from callbacks
- Creating observables from promises
- Cold and hot observables
- Working with operators
- Pipe
- Max
- Every
- Find
- Filter
- Map
- Reduce
- Throttle
- Merge
- Zip
- Summary
- Real-World Functional Programming
- Working with Ramda
- Composition
- Partial application and currying
- Lenses
- Working with Immutable.js
- Working with Immer
- Working with Funfix
- Summary
- Functional Programming Learning Road Map
- Beginner
- Advanced beginner
- Intermediate
- Proficient
- Expert
- Summary
- Directory of TypeScript Functional Programming Libraries
- Functional programming
- Category theory
- Laziness
- Immutability
- Optics and lenses
- Functional-reactive programming
- Others
- Summary
- Other Books You May Enjoy
- Leave a review - let other readers know what you think 更新時間:2021-07-02 14:03:37
推薦閱讀
- Vue 3移動Web開發(fā)與性能調優(yōu)實戰(zhàn)
- Ceph Cookbook
- PostgreSQL Cookbook
- Go語言高效編程:原理、可觀測性與優(yōu)化
- 青少年軟件編程基礎與實戰(zhàn)(圖形化編程三級)
- x86匯編語言:從實模式到保護模式(第2版)
- jQuery開發(fā)基礎教程
- Getting Started with Gulp
- Learning Probabilistic Graphical Models in R
- PLC應用技術(三菱FX2N系列)
- JavaScript應用開發(fā)實踐指南
- JavaScript悟道
- Python Deep Learning
- 分布式架構原理與實踐
- TypeScript圖形渲染實戰(zhàn):2D架構設計與實現(xiàn)
- Puppet 5 Beginner's Guide(Third Edition)
- Learning D3.js 5 Mapping(Second Edition)
- WCF全面解析
- Java核心技術速學版(第3版)
- HTML5+CSS+JavaScript深入學習實錄
- Building E-Commerce Solutions with WooCommerce(Second Edition)
- PHP程序設計經(jīng)典300例
- Visual FoxPro程序設計
- Odoo Development Cookbook
- 數(shù)據(jù)可視化之道:數(shù)據(jù)分析中的圖表制作思路與方法(全彩)
- 術以載道:軟件過程改進實踐指南
- Introduction to JVM Languages
- 軟件架構設計:實用方法及實踐
- GameMaker Cookbook
- JavaScript at Scale