javascript速记if-else和返回

问题描述 投票:0回答:6

可以返回功能的JavaScript速记吗?如果是这样,这将如何工作?

eg。
我有:
if

我想写下它:

else
chrome抱怨回报是出乎意料的。有什么方法可以写这样的东西以使其有效吗?
    

,除非您返回值,否则您不能这样做。例如,如果您的函数必须返回一个可以编写的值:
if(boolean){
 return;
}

但是您不能使用条件运算符返回void来停止执行函数。
javascript if-statement
6个回答
52
投票

如果您打算在此时的执行中从函数返回

无措施
测试是对True还是False的评估,则可以使用,

(value)? return;


31
投票

return boolean ? 'foo' : 'bar';

return (value) ? 1 : 2;

单线,可读,完全有效;



20
投票
IIFE):
if (boolean) return;

如果我们想脱离功能或继续执行其他任务:

3
投票
if(boolean) return;

当我们使用箭头函数时,我们就能从直接函数上下文中访问变量。

你想做一个
function outOfFunction(boolean){ return (boolean)?(()=>{return true;})():(()=>{return false;})(); } console.log(outOfFunction(true)); console.log(outOfFunction(false));

是这样的:
    function shorthandExampleJustTrue(boolean){

        var someVar = "I'm out";        

        return (boolean)?(()=>{return true;})():(()=>{

          console.log("here my code ");

          console.log(someVar);

          return "anythig else";


        })();
    }

console.log(shorthandExampleJustTrue(true));
console.log(shorthandExampleJustTrue(false));

请注意:您不能省略三元操作员的其他部分。

1
投票
http://en.wikipedia.org/wiki/ternary_operation

    

有条件的“三元运算符”(

ternary operator
)通常用于简单的条件变量分配。 

如果需要:

(bool) ? ifTrue : ifFalse; 你可以写:


1
投票
您可以将其视为一个简单的功能,该功能采用3个参数(P1,P2,P3),如果P1为TRUE,则返回P2,如果P1为False,则它将返回P3。

if( x > 0) {
   a = 10;
}else{
   a = 30;
}

和这样的功能一样,它无法使

-Parent

函数根据条件返回。因此,它是if/else的速记。
    

如果我没记错的话,您在谈论这个吗?短手
a = (x>0)? 10 : 30; 

示例:

(p1)? p2 : p3;

如果值为真,则将其作为短手,那么它将返回false;使用&&运算符更好

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.