2017-07-12 19 views
-1

私はJavaScriptでこの擬似コードを書くための最良の/クリーンな方法(ES6)がどうなるか不思議だ:関数呼び出し後にパイプ演算子でreturnを呼び出すことはできますか?

function toto(....){ 
    .... 
    callSomething() || return ; // should break toto() here 
    .... 
} 

コンテキスト:私は、コードのコメント束でこれを見て、それが非常に見えました奇妙な。 私はそれが何をしているのかを理解するために十分な実験をしていません(ロジックopとステートメントのミキシング)。 あなたの答えの後、私はこのコメントされたコードが少なくとも有効ではないので何もしないことを理解します。

+3

'if(!callSomething())return;'? – xander

+5

'return'は*式*ではなく*式*であるため、そうではありません。 'if'構造を使用しなければなりません。 – Pointy

+1

すべてが1ライナーに凝縮される必要があるのはなぜですか、制御フローを変更するステートメント...? – deceze

答えて

4

return文でない表現なので、この方法で悪用されることはできません。

無限の「トリック」を使用して誰も保守できない単一行のプログラムにコードを凝縮させるための、新しい独創的な方法を見つけようとしないでください。

あなたが何をしようとして行う唯一の賢明な方法はこれです:

if (!callSomething()) { 
    return; 
} 

…またはPerlに切り替えます。 :)

+0

確かに、最も簡単な方法です。ありがとう:) "あなたのコードを凝縮する新しく創意に富んだ方法を見つけよう"と書いたとき - >いや、ちょっと疑問... "誰も維持できない" - >それは私の仕事だ、私は問題を知っている:/ – Benj

+0

編集を参照、私私の質問のコンテキストを追加しました。答えをありがとう:) – Benj

+0

@Benj:良いもの –

関連する問題