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

07-26 02:42