随着单页面JavaScript应用越来越复杂,以可预测的方式进行状态管理就显得愈发重要。不可变性(不变性)可以帮我们确保应用具有一致的表现,不幸的是,JavaScript没有提供内置的具有深层不变性的数据结构(参见ES记录与元组提案)。其次是音麦(在德语中是永远的意思)是一个极小的包,它可以让你用更加便利的方式处理不可变状态。它基于写时复制(即写即拷)机制进行工作,具有最小化的API,而且只操作普通的JavaScript对象和数组。这意味着其数据访问是无缝的,不需要做大规模重构就能把不可变性引入到现有代码库中。目前,我们的很多团队都在自己的JavaScript代码库中使用它,相对于Immutable.js,我们更喜欢它一些,这就是把它移入“试验”中的原因。
随着单页面JavaScript应用程序的复杂性不断增加,可预测地管理状态变得越来越重要。不可变性有助于确保应用程序的行为一致,但不幸的是,JavaScript本身并不支持创建不可变对象的能力。库等Immutable.js填补了这一空白,但引入了新的问题,因为现在应用程序中存在两种类型的对象和数组,库的版本和本机JavaScript版本。其次是音麦——德国总是-是一个小的包,可以让您以一种更方便的方式处理不可变状态。它基于写时复制机制,有一个最小的API,操作普通的JavaScript对象和数组。这意味着在向现有代码库引入不可变性时,数据访问是无缝的,不需要进行大规模的重构工作。