【问题标题】:Shorthand syntax to check a variable in JS?检查JS中变量的简写语法?
【发布时间】:2015-10-14 22:15:51
【问题描述】:

假设我们想在使用之前检查变量是否设置正确(不是未定义,不是空,不是假...)

var myVar = getData();
if(myVar) {
    doSomething(myVar);
}

我们可以通过不声明 myVar 来缩短代码。但是,在这种情况下,getData() 被调用了两次,并不理想。

if(getData()) doSomething(getData());

是否有任何其他替代方法可以使这段代码保持简短但以某种方式干净?

【问题讨论】:

  • 第一个例子有什么问题?它简短、干净、易读……
  • @Andreas 没有问题。我只是想知道我们是否可以有一个干净的简短替代方案。我认为我们可以,但我不知道语法。
  • 我投票决定将此问题作为离题结束,因为它甚至不能作为代码审查。

标签: javascript shorthand


【解决方案1】:

你并没有真正绕过这个变量。当然你也可以这样做

var myVar = getData();
if (myVar) doSomething(myVar);

甚至

var myVar;
if (myVar = getData()) doSomething(myVar);

但它基本上不会比这更好。

如果您想避免在您的作用域中引入变量,您可以使用辅助函数来解决它 - 如果您发现自己一遍又一遍地这样做:

function maybeDo(val, action) {
    if (val) return action(val);
}
maybeDo(getData(), doSomething);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-11-27
    • 1970-01-01
    • 2017-08-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-09
    相关资源
    最近更新 更多