舉報

會員
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
推薦閱讀
- 一步一步學Spring Boot 2:微服務項目實戰
- 兩周自制腳本語言
- 算法零基礎一本通(Python版)
- 深入理解Django:框架內幕與實現原理
- PHP+MySQL網站開發技術項目式教程(第2版)
- aelf區塊鏈應用架構指南
- 執劍而舞:用代碼創作藝術
- 編程與類型系統
- 深度學習程序設計實戰
- 零基礎學C++(升級版)
- Python全棧開發:基礎入門
- Java語言程序設計實用教程(第2版)
- Java核心編程
- Magento 2 Developer's Guide
- Learning Dynamics NAV Patterns
- Practical Linux Security Cookbook
- C#編程魔法書
- 鋒利的SQL
- Getting Started with Meteor.js JavaScript Framework(Second Edition)
- 深入理解ElasticSearch
- Building Large-Scale Web Applications with Angular
- Python網絡編程(原書第2版)
- JavaScript忍者秘籍(第2版)
- KnockoutJS by Example
- Mastering Cross:Platform Development with Xamarin
- 代碼之外的功夫:程序員精進之路
- Magento Extensions Development
- Excel 2010 VBA編程與實踐
- PHP 7從入門到精通(視頻教學版)
- 零基礎學Struts