Javascript 用零聚结缩短三元数
如果三元运算符正在检查自身,则可以使用Javascript 用零聚结缩短三元数,javascript,Javascript,如果三元运算符正在检查自身,则可以使用?缩短它,这是否正确?我有以下数据: function myFunct(isEnabled) { this.doOtherFunc({ isEnabled: isEnabled ? isEnabled : true, }) } 我能把它改写如下吗?如果isEnabled存在,则给出它的true/false值——否则,使用true function myFunct(isEnabled) { this.doOt
?
缩短它,这是否正确?我有以下数据:
function myFunct(isEnabled) {
this.doOtherFunc({
isEnabled: isEnabled ? isEnabled : true,
})
}
我能把它改写如下吗?如果isEnabled
存在,则给出它的true/false
值——否则,使用true
function myFunct(isEnabled) {
this.doOtherFunc({
isEnabled: isEnabled ?? true,
})
}
你可以接受
你测试过这种方法吗?它不是更短吗?因为这似乎是这里的逻辑。大概在你的原文中,你的意思是
typeof(isEnabled)==“undefined”?正确:isEnabled
@joynerj9jisEnabled?isEnabled:true
表示如果isEnabled
是任何假值,则将使用true
。如果它有任何真实的价值,就会使用真实的价值。因此,isEnabled??true
一点也不等效,因为isEnabled=false的结果不同。如果不存在的话,你应该自己澄清一下,并准确说明你对的意思typeof arg==“未定义”
,arguments.length>0
和对象上的typeof obj[key]!==“undefined”
vskey in obj
vsobj.hasOwnProperty(key)
在某种程度上是对值存在的含义的所有不同定义,因为根据您测试此“存在”的方式,您会得到不同的结果。所有这些示例都只处理未定义的
,而不处理null
或类似虚假或无效值的内容。
function myFunct(isEnabled = true) {
this.doOtherFunc({ isEnabled });
}