Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/448.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.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 如何用替代语句替换if语句?_Javascript_Typescript - Fatal编程技术网

Javascript 如何用替代语句替换if语句?

Javascript 如何用替代语句替换if语句?,javascript,typescript,Javascript,Typescript,在一篇题为的文章中,它说: 我最近一直在质疑if声明本身 在编写了一个完全没有if语句的整个应用程序之后,我发现if是可选的 我想了解如何替换此代码: if(value可以取,它返回大于零的值或小于零的值 return Math.max(value, 0); 如果您有一个不返回任何内容的函数,例如: function foo() {} 然后隐式返回值为未定义 如果且仅当If语句后没有任何内容,则可以使用三元运算符返回未定义的: return (value <= 0) ? 0 : und

在一篇题为的文章中,它说:

我最近一直在质疑if声明本身

在编写了一个完全没有if语句的整个应用程序之后,我发现if是可选的

我想了解如何替换此代码:

if(value可以取,它返回大于零的值或小于零的值

return Math.max(value, 0);

如果您有一个不返回任何内容的函数,例如:

function foo() {}
然后隐式返回值为
未定义

如果且仅当If语句后没有任何内容,则可以使用三元运算符返回未定义的:

return (value <= 0) ? 0 : undefined;
if/else语法如下所示:

var x;
if (condition) x = expr1; else x = expr2;

如果If/else块中有更高级的逻辑,或者如果else块完全丢失,那么三元运算符是不合适的,为了清晰起见,通常应该避免使用它。

为什么要替换它?这是非常好的代码。您可以用
返回值替换它。您不能替换特定的
If
bec由于
返回部分,如果函数的其余部分与三元表达式的第二部分相匹配,您可以这样做。为了帮助您做到这一点,我们还需要函数其余部分的代码。但实际上,除非函数的其余部分是一个非常简单的返回语句,否则您应该按照Andy说的做。您能提供mor吗你的问题的上下文?周围的代码是什么,函数做什么?函数(不存在)
else
源代码中的case没有
return
语句。即便如此,我认为这个问题的核心不是关于
的捷径,而是在第二个代码部分中,没有
if
的return语句“然而,这不能取代我的代码-它将取代
if else
语句,而不是
if
”你是说OP试图取代
if(值)吗?它再次归结为一个模糊的问题,需要OP在回答之前提供更多的输入。
var x;
if (condition) x = expr1; else x = expr2;