考虑将 memoize 缓存切换为与 ES6 Map/WeakMap 兼容。
作者: jdalton创建于 2014年9月19日更新于 2021年12月17日
标签breaking change
目前,_.memoize缓存只是一个普通对象。如果我们将其转换为一个简单的缓存对象的包装器(仍然使用相同的参数到字符串键),但具有 ES6 Map、WeakMap 的接口,这将允许开发人员使用 ES6 Map/WeakMap 替换其缓存。薄弱的包装器将具有模仿 Map/WreakMap 的接口,因此具有 has、set、get 以及可选的 delete、clear 方法。_.memoize还可以添加一个 Cache 构造器,以允许开发人员将其替换为 Map/WeakMap 或等效的代理。
内容来源: jashkenas/underscore