Javascript-三元结构中的typeof
我正在尝试在三元代码的第一部分中检查未定义的类型Javascript-三元结构中的typeof,javascript,undefined,ternary-operator,typechecking,Javascript,Undefined,Ternary Operator,Typechecking,我正在尝试在三元代码的第一部分中检查未定义的类型 return typeof this.scores != 'undefined' ? this.scores.filter() 及 我必须使用完整的if/else吗?您可以通过使用a而不是a而不使用else部分(这是不可能的)来返回未定义的或函数调用的值 您可以在不使用else部分(这是不可能的)的情况下使用a而不是a来返回未定义的或函数调用的值 如果完成三元表达式,您所拥有的将起作用: return typeof this.scores
return typeof this.scores != 'undefined' ? this.scores.filter()
及
我必须使用完整的if/else吗?您可以通过使用a而不是a而不使用else部分(这是不可能的)来返回
未定义的
或函数调用的值
您可以在不使用else部分(这是不可能的)的情况下使用a而不是a来返回未定义的或函数调用的值
如果完成三元表达式,您所拥有的将起作用:
return typeof this.scores != 'undefined' ? this.scores.filter() : null;
您可以用希望返回的任何值替换
null
。如果完成三元表达式,您所拥有的将起作用:
return typeof this.scores != 'undefined' ? this.scores.filter() : null;
您可以将
null
替换为您想要返回的任何值。尝试按以下方式逐步思考问题:
this.scores != 'undefined'
是一个表达式,如果此值为未定义的值以外的任何值,则返回true
假设这个。分数不是未定义的,现在我们只剩下以下内容:
return true ? this.scores.filter()
这将是无效的JS,因为三元表达式需要用冒号分隔真假大小写。我们可以通过以下方式解决此问题,而无需使用if-else语句:
return true ? this.scores.filter() : null
记住三元表达式当然是一个表达式,这意味着它返回一个值。然后,您可以通过开头已有的return
语句返回该值
总之,当您完成三元表达式时,不需要使用if-else
语句。尝试按以下方式逐步思考问题:
this.scores != 'undefined'
是一个表达式,如果此值为未定义的值以外的任何值,则返回true
假设这个。分数不是未定义的,现在我们只剩下以下内容:
return true ? this.scores.filter()
这将是无效的JS,因为三元表达式需要用冒号分隔真假大小写。我们可以通过以下方式解决此问题,而无需使用if-else语句:
return true ? this.scores.filter() : null
记住三元表达式当然是一个表达式,这意味着它返回一个值。然后,您可以通过开头已有的return
语句返回该值
总之,当您完成三元表达式时,不需要if else
语句。部分:
在哪里?部分:
在哪里?如果不知道将返回的else
值,则此答案尚未确认。如果不知道将返回的else
值,这个答案尚未得到证实。