鲁比的||= (或等于) 在 JavaScript 中?

2022-08-30 04:16:58

我喜欢Ruby的机制。如果变量不存在或为 ,则创建它并将其设置为等于以下值:||=nil

amount # is nil
amount ||= 0 # is 0
amount ||= 5 # is 0

我现在需要在JavaScript中做类似的事情。这样做的惯例或正确方法是什么?我知道不是有效的语法。2种明显的处理方法是:||=

window.myLib = window.myLib || {};

// or

if (!window.myLib)
  window.myLib = {};

答案 1

两者都是绝对正确的,但如果你正在寻找像ruby一样工作的东西。第一种方法是您要查找的方法:)||=variable = variable || {}


答案 2

您可以使用逻辑 OR 运算符,如果它是一个 falsy 值,则计算其正确的操作数。||lVal

伪造值包括例如null, false, 0, "", undefined, NaN

x = x || 1