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);
假设我们要检查一个变量是否设置正确(不是未定义的,不是空的,不是假的...) 在使用它之前:
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);