请原谅我的英语。我不是母语人士。
我的问题出在我写这样的代码时
luminosity = settings.luminosity || 50;
opacity = settings.opacity || 100;
问题在于
0
应该是一个有效值,但是由于0
在Javascript中是虚假的,并且会设置为||
右侧的默认值,因此它会被忽略。有没有办法进行修复,因此
0
不会被视为虚假?现在我在做
luminosity = "luminosity" in settings ? settings.luminosity : 50;
但我不喜欢它,因为它太长了。
最佳答案
您需要做的就是编写一个辅助函数...
function ifNotSet(val, other) {
return typeof val === "undefined" ? other : val;
}