如何在不重复自己的情况下获取或设置JavaScript映射

如何在不重复自己的情况下获取或设置JavaScript映射,javascript,Javascript,我有一个用例,我想从地图中获取一个项目。如果该项不存在,我想插入一个初始值并保存它以备将来使用。我还想使用const变量,这样我就不会意外地重新绑定本地。我知道我可以编写自己的助手,但在我看来,这种模式需要大量的编写工作,我希望这种模式非常常见: const item = myMap.has(key) ? myMap.get(key) : myMap.set(key, initialize()).get(key); 或者避免紧跟在.set()之后的.get(): 是否有更简单的方法将项目从Ma

我有一个用例,我想从
地图
中获取一个项目。如果该项不存在,我想插入一个初始值并保存它以备将来使用。我还想使用
const
变量,这样我就不会意外地重新绑定本地。我知道我可以编写自己的助手,但在我看来,这种模式需要大量的编写工作,我希望这种模式非常常见:

const item = myMap.has(key) ? myMap.get(key) : myMap.set(key, initialize()).get(key);
或者避免紧跟在
.set()
之后的
.get()

是否有更简单的方法将项目从
Map
获取到
const
变量,如果它还不存在,则首先为键插入初始值

我知道a,但在这个问题上,不要求插入的项在插入后存储在本地,它使用
let
而不是
const

编辑:我已经使用了实用程序函数路线并创建了。

我们可以稍微减少它,将
分解出来。get(key)
部分:

const item = (myMap.has(key) ? myMap : myMap.set(key, initialize())).get(key);
…但我认为,如果不引入新功能,我们就无法更进一步

const initialize=\u=>42;
const myMap=新映射();
const key=“answer”;
常量项=(myMap.has(key)?myMap:myMap.set(key,initialize()).get(key);
控制台日志(项目);
log(Array.from(myMap.keys())
const item = (myMap.has(key) ? myMap : myMap.set(key, initialize())).get(key);