Shorthand 在 JS 中检查变量的语法?

Shorthand syntax to check a variable in JS?

假设我们要检查一个变量是否设置正确(不是未定义的,不是空的,不是假的...) 在使用它之前:

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

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

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

是否有任何其他替代方法可以使此代码既简短又干净?

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

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);