2017-01-30 8 views
2

私は、datatables.netのコード例で次を見つけました。比較結果より大きい値は、trueまたはfalse以外のものを返しますか?

return value > 20 ? true : false; 

は、なぜ彼らはちょうど

return value > 20; 

を書かれていませんでしtrueまたはfalse以外の後者の戻り値だろうか?彼らがコードをこのように読みやすいと思っているのか、それとも私が気づいていないことを実際に行う重要な理由があるのか​​を考えようとしています。

+10

このコードは、誰でもそれを書いた人がJavaScriptだけでなく、あなたもしていることを示しています。 – Pointy

答えて

4

唯一可能な結果が真か偽です。私はそれがより読みやすくするとは思わない。彼らが私が考えることができる唯一の理由は、彼らが新しい開発者であり、> 20の価値が復活するのが妥当でないことを認識していないことです。

4

これは、これを書いて誰かと同じラインに沿っている:if条件が暗黙のうちに彼らの「truthyらし」と比較されているため不要です

if(value > 20 === true){ . . . } 

。文は次のようになります。このように

if(value > 20){ . . . } 

を、あなたの例では、コードは単に次のようになります。

return value > 20; 

大なり小なり表現ができるだけで/(あなたが正しくsurmizeとして)のでtrueまたはfalseとなります。誰かがバイナリ結果の代替セットを返すしたい場合

さて、あなたはこのようなものが使用されて見ることができる:

return value > 20 ? "acceptable" : "unacceptable"; 
関連する問題