如果对象 属性 存在则加 1,如果不存在则创建并设置为 1 (javascript)

Add 1 to object property if it exists, create and set it to 1 if it doesn't (javascript)

所以我有以下代码,它正在执行我想要的操作,但我只是想知道是否有更好的方法来执行此操作。就是感觉笨重

object.hasOwnProperty(property) ? object[property]++ : object[property] = 1

你可以这样做:

obj.prop = obj.prop + 1 || 1

这与您的原始代码一样工作,但使用 OR 语句,它将采用第一个为真的选项。由于对象可能没有 属性,它将 return 'NaN' 然后继续将 属性 设置为 1,因为这是 OR 语句的另一端。

为了避免这种情况:

obj.prop = (obj.prop && obj.prop + 1) || 1