一个常见的成语是javascript和其他类似C语言就是用这样的逻辑“或”运算符:简洁的语法为“做这个或抛出一个错误”
function f(x) {
return (foo(x) || -1);
}
返回-1,如果FOO (x)返回null(或零,或空字符串)。
如果不是返回一个不同的值,我想抛出一个错误? throw
是关键字,而不是函数,因此它不能用于||
的右侧。基本上我想这样做:
function foo(x) {
result = bar(x);
if(result) {return result;}
throw "bar(x) didn't return a value";
}
可以做得更简洁(和少冗余)?