function myFunc(trueOrFalse) {
return trueOrFalse ? true : false
}
上面的函数可以写为
myFunc(trueOrFalse) => trueOrFalse
,但是如果没有trueOrFalse怎么办?这就是为什么我编写第一个函数以布尔值显式返回true或false的原因。 最佳答案
没有赋值的函数参数是undefined
,它是一个falsy
值。所以你可以这样写:
function myFunc(trueOrFalse) {
return trueOrFalse
}
调用
myFunc()
将返回undefined
,即falsy
。请注意,falsy
不等于false
:if(false) {
// it will not be executed
}
if(undefined){
// it will not be executed
}
// but:
false == undefined // false
因此,根据您的需要,您希望将其转换为
false
,一种方法可以使用default parameters:function myFunc(trueOrFalse = false) {
return trueOrFalse
}
例如,现在调用
myFunc()
将返回false
。