map.set()返回NaN,除非我添加双管道?



我很难理解为什么" || 1 "能做到这一点。

如果没有OR操作符,则对每个键返回NaN。

期望结果- with " || "

不带" || " -结果为NaN

当你一开始尝试增加它时,你正在做一个带有映射中不存在的键的map.get()。这就得到了undefined。在undefined中添加一些东西是不明智的,所以它是NaN

你的修复使它把1在那里,因为NaN是假的。然后,下一次尝试相同的字符串时,一个值在映射中,可以检索到它,并可以向其中添加一个值。

最新更新