Javascript速记if-else并返回

ntk*_*hov 25 javascript

if-else的javascript简写可以退出函数吗?如果是这样,这将如何工作.

例如.我有这个:

if(boolean){
 return;
}
Run Code Online (Sandbox Code Playgroud)

我想把它写成:

(value)? return;
Run Code Online (Sandbox Code Playgroud)

Chrome抱怨返回意外.反正有没有写这样的东西,以便它是有效的?

Dar*_*rov 34

不,除非您返回值,否则不能这样做.例如,如果您的函数必须返回一个您可以编写的值:

return boolean ? 'foo' : 'bar';
Run Code Online (Sandbox Code Playgroud)

但是你不能通过使用条件运算符返回void来停止函数的执行.


Shi*_*dim 17

如果您打算从功能在其执行该点返回不管的测试评估是否真的还是假的,你可以使用,

return (value) ? 1 : 2;
Run Code Online (Sandbox Code Playgroud)

但是,如果您只是希望在测试评估为true时提前返回(例如,作为一个完整性检查以防止在参数无效时执行),您可以做到的最短时间是:

if (boolean) return;
Run Code Online (Sandbox Code Playgroud)

  • 只有第二个实际上与问题中的第一个示例相同.它当然是短暂的 - 很好地说明了包括牙箍和换行线在内的各种各样的狂热可以导致你想要在脚下射击自己! (3认同)

sap*_*apy 7

if(boolean) return;
Run Code Online (Sandbox Code Playgroud)

单行,可读,完全有效;