[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-3264":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":16,"stars7d":16,"stars30d":17,"stars90d":16,"forks30d":16,"starsTrendScore":16,"compositeScore":18,"rankGlobal":10,"rankLanguage":10,"license":19,"archived":20,"fork":20,"defaultBranch":21,"hasWiki":22,"hasPages":20,"topics":23,"createdAt":10,"pushedAt":10,"updatedAt":30,"readmeContent":31,"aiSummary":32,"trendingCount":16,"starSnapshotCount":16,"syncStatus":33,"lastSyncTime":34,"discoverSource":35},3264,"Functional-Light-JS","getify\u002FFunctional-Light-JS","getify","Pragmatic, balanced FP in JavaScript. @FLJSBook on twitter.","http:\u002F\u002FFLJSBook.com",null,"JavaScript",16761,1929,451,15,0,4,70.26,"Other",false,"master",true,[24,25,26,27,28,29],"book","education","functional-programming","javascript","training-materials","training-providers","2026-06-12 04:00:17","# Functional-Light JavaScript\n\n[![License: CC BY-NC-ND 4.0](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-CC%20BY--NC--ND%204.0-blue.svg)](http:\u002F\u002Fcreativecommons.org\u002Flicenses\u002Fby-nc-nd\u002F4.0\u002F)\n\n\u003Ca href=\"http:\u002F\u002Ffljsbook.com\">\u003Cimg src=\"manuscript\u002Fimages\u002Fmarketing\u002Ffront-cover-small.png\" width=\"25%\" align=\"right\" hspace=\"20\" vspace=\"20\" title=\"Functional-Light JavaScript\" alt=\"Book Cover\">\u003C\u002Fa>\n\nThis book is a balanced, pragmatic look at FP in JavaScript. The first edition is now complete. Read here online **for free**, or:\n\n\u003Cp align=\"center\">\n    \u003Ca href=\"http:\u002F\u002Ffljsbook.com\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FBuy-Leanpub-yellow.svg\" title=\"Buy on Leanpub\" alt=\"Buy on Leanpub\">\u003C\u002Fa> \u003Ca href=\"http:\u002F\u002Fmanning.fljsbook.com\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FBuy-Manning-yellow.svg\" title=\"Buy on Manning\" alt=\"Buy on Manning\">\u003C\u002Fa> \u003Ca href=\"http:\u002F\u002Famazon.fljsbook.com\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FBuy-Amazon-yellow.svg\" title=\"Buy on Amazon\" alt=\"Buy on Amazon\">\u003C\u002Fa>\n\u003C\u002Fp>\n\n\"Functional-Light JavaScript\" explores the core principles of functional programming (FP) as they are applied to JavaScript. But what makes this book different is that we approach these principles without drowning in all the heavy terminology. We look at a subset of FP foundational concepts that I call \"Functional-Light Programming\" (FLP) and apply it to JavaScript.\n\n**Note:** Despite the word \"Light\" in the title, I do not consider or recommend this book as a \"beginner\", \"easy\", or \"intro\" book on the topic. This book is rigorous and full of gritty detail; it expects a solid foundation of JS knowledge before diving in. \"Light\" means limited in scope; instead of being more broad, this book goes much deeper into each topic than you typically find in other FP-JavaScript books.\n\nLet's face it: unless you're already a member of the FP cool kids club (I'm not!), a statement like, \"a monad is just a monoid in the category of endofunctors\", just doesn't mean anything useful to us.\n\nThat's not to say the terms are meaning*less* or that FPrs are bad for using them. Once you graduate from Functional-Light, you'll maybe\u002Fhopefully want to study FP more formally, and you'll certainly have plenty of exposure to what they mean and why.\n\nBut I want you to be able to apply some of the fundamentals of FP to your JavaScript *now*, because I believe it will help you write better, more *reason*able code.\n\n**To read more about the motivations and perspective behind this book, check out the [Preface](manuscript\u002Fpreface.md).**\n\n## Book\n\n[Table of Contents](manuscript\u002FREADME.md\u002F#table-of-contents)\n\n* [Foreword](manuscript\u002Fforeword.md\u002F#foreword) (by [Brian Lonsdorf, aka \"Prof Frisby\"](https:\u002F\u002Ftwitter.com\u002FDrBoolean))\n* [Preface](manuscript\u002Fpreface.md\u002F#preface)\n* [Chapter 1: Why Functional Programming?](manuscript\u002Fch1.md\u002F#chapter-1-why-functional-programming)\n* [Chapter 2: The Nature Of Functions](manuscript\u002Fch2.md\u002F#chapter-2-the-nature-of-functions)\n* [Chapter 3: Managing Function Inputs](manuscript\u002Fch3.md\u002F#chapter-3-managing-function-inputs)\n* [Chapter 4: Composing Functions](manuscript\u002Fch4.md\u002F#chapter-4-composing-functions)\n* [Chapter 5: Reducing Side Effects](manuscript\u002Fch5.md\u002F#chapter-5-reducing-side-effects)\n* [Chapter 6: Value Immutability](manuscript\u002Fch6.md\u002F#chapter-6-value-immutability)\n* [Chapter 7: Closure vs Object](manuscript\u002Fch7.md\u002F#chapter-7-closure-vs-object)\n* [Chapter 8: Recursion](manuscript\u002Fch8.md\u002F#chapter-8-recursion)\n* [Chapter 9: List Operations](manuscript\u002Fch9.md\u002F#chapter-9-list-operations)\n* [Chapter 10: Functional Async](manuscript\u002Fch10.md\u002F#chapter-10-functional-async)\n* [Chapter 11: Putting It All Together](manuscript\u002Fch11.md\u002F#chapter-11-putting-it-all-together)\n* [Appendix A: Transducing](manuscript\u002FapA.md\u002F#appendix-a-transducing)\n* [Appendix B: The Humble Monad](manuscript\u002FapB.md\u002F#appendix-b-the-humble-monad)\n* [Appendix C: FP Libraries](manuscript\u002FapC.md\u002F#appendix-c-fp-libraries)\n\n## Publishing\n\nThis book has been published and is now available for purchase (in both ebook and print formats) from these sources:\n\n\u003Cp align=\"center\">\n    \u003Ca href=\"http:\u002F\u002Ffljsbook.com\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FBuy-Leanpub-yellow.svg\" title=\"Buy on Leanpub\" alt=\"Buy on Leanpub\">\u003C\u002Fa> \u003Ca href=\"http:\u002F\u002Fmanning.fljsbook.com\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FBuy-Manning-yellow.svg\" title=\"Buy on Manning\" alt=\"Buy on Manning\">\u003C\u002Fa> \u003Ca href=\"http:\u002F\u002Famazon.fljsbook.com\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FBuy-Amazon-yellow.svg\" title=\"Buy on Amazon\" alt=\"Buy on Amazon\">\u003C\u002Fa>\n\u003C\u002Fp>\n\nIf you'd like additionally to contribute financially towards the effort (or any of my other OSS work) aside from purchasing the book, I do have a [patreon](https:\u002F\u002Fwww.patreon.com\u002Fgetify) that I would always appreciate your generosity towards.\n\n\u003Ca href=\"https:\u002F\u002Fwww.patreon.com\u002Fgetify\">[![patreon.png](https:\u002F\u002Fc5.patreon.com\u002Fexternal\u002Flogo\u002Fbecome_a_patron_button.png)](https:\u002F\u002Fwww.patreon.com\u002Fgetify)\u003C\u002Fa>\n\n## In-person Training\n\nThe content for this book derives heavily from a training workshop I teach professionally (in both public and private-corporate workshop format) of the same name.\n\nIf you like this content and would like to contact me regarding conducting training on this, or other various JS\u002FHTML5\u002FNode.js topics, please reach out to me through email: getify @ gmail\n\n## Online Video Training\n\nI also have several JS training courses available in on-demand video format. I [teach courses](https:\u002F\u002FFrontendMasters.com\u002Fteachers\u002Fkyle-simpson) through [Frontend Masters](https:\u002F\u002FFrontendMasters.com), like my [Functional-Light JavaScript v2](https:\u002F\u002Ffrontendmasters.com\u002Fcourses\u002Ffunctional-javascript-v2\u002F) workshop. Some of my courses are also available on [PluralSight](https:\u002F\u002Fwww.pluralsight.com\u002Fsearch?q=kyle%20simpson&categories=all).\n\n## Contributions\n\nAny contributions you make to this effort **are of course greatly appreciated**.\n\nBut **PLEASE** read the [Contributions Guidelines](CONTRIBUTING.md) carefully before submitting a PR.\n\n## License & Copyright\n\nThe materials herein are all (c) 2016-2018 Kyle Simpson.\n\n\u003Ca rel=\"license\" href=\"http:\u002F\u002Fcreativecommons.org\u002Flicenses\u002Fby-nc-nd\u002F4.0\u002F\">\u003Cimg alt=\"Creative Commons License\" style=\"border-width:0\" src=\"https:\u002F\u002Fi.creativecommons.org\u002Fl\u002Fby-nc-nd\u002F4.0\u002F88x31.png\" \u002F>\u003C\u002Fa>\u003Cbr \u002F>This work is licensed under a \u003Ca rel=\"license\" href=\"http:\u002F\u002Fcreativecommons.org\u002Flicenses\u002Fby-nc-nd\u002F4.0\u002F\">Creative Commons Attribution-NonCommercial-NoDerivs 4.0 Unported License\u003C\u002Fa>.\n","\"Functional-Light JavaScript\" 是一本探讨如何在JavaScript中应用函数式编程（FP）核心原则的书籍。该项目的核心功能在于提供了一种平衡且实用的方法来理解FP，避免了过多复杂的术语，专注于“轻量级函数式编程”（FLP）的概念。技术特点包括深入浅出地讲解FP的基础概念，并通过实际示例展示如何在JavaScript项目中应用这些概念。适合具有一定JavaScript基础、希望提升代码质量或对FP感兴趣的开发者阅读。无论是作为自学材料还是培训资源，这本书都能为读者提供宝贵的指导。",2,"2026-06-11 02:53:12","top_language"]