假设我们要在使用变量之前检查它是否已正确设置(不是未定义、不是空、不是 false...):
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);
关于javascript - 在 JS 中检查变量的简写语法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33127018/