Cho*_*tom 5 javascript underscore.js
Ruby有一个方便的用法,除非有条件,即“ if的负数”。
有没有办法在JavaScript中做比语义更“否定的” if (!condition)
?
小智 8
这是黑客:P
let unless = (condition,callback)=>{!condition && callback();}
let a = 10;
let b = 20;
unless(a > b,()=>{console.log("A should be greater than B")})
Run Code Online (Sandbox Code Playgroud)
不,不存在这样的控制结构。为了使代码更具可读性,您可以做的一件事是将否定包装在函数中。
\n function baconIsTooThin () {\n return !baconIsChunky();\n }\n\n if (baconIsTooThin()) { \n ...\n } \n
Run Code Online (Sandbox Code Playgroud)\n或者您可能想使用CoffeeScript,它使 JavaScript 看起来更像 Ruby (并且具有unless
)并编译为纯 JavaScript。
例子:
\n// CoffeeScript\nunless (foo) \n alert(\'bar\')\n\n// Compiled JavaScript\nif (!foo) {\n alert(\'bar\');\n}\n
Run Code Online (Sandbox Code Playgroud)\n编辑 2022:不要\xe2\x80\x99t 使用 CoffeeScript,它没有\xe2\x80\x99t 流行起来,而且现在没有人使用它。JS 仍然没有并且可能永远不会有unless
。
归档时间: |
|
查看次数: |
835 次 |
最近记录: |