javascript - "|| 0"在 JavaScript 中做什么?

标签 javascript

我有一段 JavaScript 代码显示:

function(next, feather) {
  var l = Number(171) + (next || 0);
  var m = Math.max(1, l - 9);
  return {
    lc: 300 * (l + 1) * m + (5 * feather || 0)
  }
}

现在我稍微简化了它。但谁能解释一下“|| 0”的作用吗?据我所知它没有任何作用。

(请注意,我用 Number(171) 替换了一个函数,因为该函数实际上返回一个数字,feather 也应该是一个数字,大多数时候为 0,有时为 1)。

最佳答案

如果下一个falsy , 0 将被用来代替它。 JavaScript 没有默认值运算符,因此用户利用了这种方法,尽管该语言的创建者有called it an abusage .

Animated illustration of answer

关于javascript - "|| 0"在 JavaScript 中做什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22672808/

相关文章:

javascript - 运行扩展类中的构造函数

javascript - 使用 Chrome 存储中存储的键/值创建表

javascript - XML 属性的 AngularJS ng-repeat

javascript - 如果元素有类添加类到另一个元素

javascript - 对象的某些值的总和

javascript - 完整的 Javascript Promise 错误处理。如何?

javascript - OpenLayers - 适合当前范围正在缩小

javascript - 少数元素具有相同的功能

javascript - "/\((.*)\)/"和 "/\(([^\)]*)\)/"之间有区别吗?

javascript - Foreach 循环仅从数据库中回显一行