我们是否可以处理 || 中的虚假值?惰性求值的运算符?
因此,例如,如果我们有:
function isOldEnough(age) {
age = age || 18;
return age;
}
isOldEnough(0) // returns 18 because 0 is falsy
在 ES6 中,你可以像这样简单地声明它
function isOldEnough(age = 18) { ... }
我们可以在 ES5 中做些什么来避免这个问题?
最佳答案
类似(如果我理解正确的话):
function isOldEnough(age) {
var age = typeof age === "number" ? arguments[0] : 18;
return age;
}
isOldEnough(null) // returns 18
isOldEnough("") // returns 18
isOldEnough(undefined) // returns 18
isOldEnough(0) // returns 0
可以通过检查年龄是否等于或大于零等进一步改进
关于javascript - 避免在默认值中分配虚假值的陷阱?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34414173/