Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/437.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript-三元结构中的typeof_Javascript_Undefined_Ternary Operator_Typechecking - Fatal编程技术网

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
值,这个答案尚未得到证实。