官术网_书友最值得收藏!

Preface

I like functional programming languages. One of my favorite features is native immutability. Some functional languages, by default, don't let you change values. What's amazing about this capability is that you can't accidentally break your application by mutating data at the wrong time. If you try, the code won't even compile.

I also dislike certain aspects of functional programming languages. On one hand, it's great that immutability is enforced the way it is. On the other hand, there are times when I just need to push aside my functional programming principles and get the job done.

The JavaScript language has many useful functional programming features out of the box. You don't need a library to compose higher-order functions, for example. Something that's difficult to get right with JavaScript is immutability. This is where Immutable.js shines.

When I first heard about Immutable.js, I pictured a library that enforced immutability on JavaScript structures and nothing more. It turns out there's much more. When you're working with immutable structures, you're constantly creating them. The Immutable.js collection API helps you create the structures you need, when you need them.

Since this is a JavaScript library, there's no immutability by default. This allows me to use Immutable.js where immutability matters, and to mutate things when I need to. This is what makes this such an essential library for applications in the real world; pragmatic functional programming that gets the job done.

主站蜘蛛池模板: 政和县| 辽源市| 乌兰浩特市| 榆林市| 搜索| 南汇区| 林口县| 新郑市| 许昌市| 孟津县| 平原县| 郑州市| 中超| 且末县| 临汾市| 甘德县| 雷波县| 鄄城县| 灵石县| 大关县| 淅川县| 乡宁县| 湛江市| 东宁县| 德安县| 阿拉善右旗| 饶平县| 琼海市| 芮城县| 岳阳县| 通河县| 桂平市| 澄迈县| 高州市| 花垣县| 阿勒泰市| 长海县| 东至县| 齐河县| 绍兴市| 建瓯市|