Prefer if/else to switch

This commit is contained in:
Tim Schaub
2013-06-26 17:01:27 -06:00
parent 4e5ef05e5e
commit 71153d26d1
+33 -47
View File
@@ -175,39 +175,30 @@ ol.expr.Comparison.isValidOp = (function() {
/** /**
* @inheritDoc * @inheritDoc
*/ */
ol.expr.Comparison.prototype.evaluate = function(opt_scope, opt_fns, ol.expr.Comparison.prototype.evaluate = function(opt_scope, opt_fns, opt_this) {
opt_this) {
var result; var result;
var rightVal = this.right_.evaluate(opt_scope, opt_fns, opt_this); var rightVal = this.right_.evaluate(opt_scope, opt_fns, opt_this);
var leftVal = this.left_.evaluate(opt_scope, opt_fns, opt_this); var leftVal = this.left_.evaluate(opt_scope, opt_fns, opt_this);
switch (this.operator_) { var op = this.operator_;
case ol.expr.ComparisonOp.EQ: if (op === ol.expr.ComparisonOp.EQ) {
result = leftVal == rightVal; result = leftVal == rightVal;
break; } else if (op === ol.expr.ComparisonOp.NEQ) {
case ol.expr.ComparisonOp.NEQ: result = leftVal != rightVal;
result = leftVal != rightVal; } else if (op === ol.expr.ComparisonOp.STRICT_EQ) {
break; result = leftVal === rightVal;
case ol.expr.ComparisonOp.STRICT_EQ: } else if (op === ol.expr.ComparisonOp.STRICT_NEQ) {
result = leftVal === rightVal; result = leftVal !== rightVal;
break; } else if (op === ol.expr.ComparisonOp.GT) {
case ol.expr.ComparisonOp.STRICT_NEQ: result = leftVal > rightVal;
result = leftVal !== rightVal; } else if (op === ol.expr.ComparisonOp.LT) {
break; result = leftVal < rightVal;
case ol.expr.ComparisonOp.GT: } else if (op === ol.expr.ComparisonOp.GTE) {
result = leftVal > rightVal; result = leftVal >= rightVal;
break; } else if (op === ol.expr.ComparisonOp.LTE) {
case ol.expr.ComparisonOp.LT: result = leftVal <= rightVal;
result = leftVal < rightVal; } else {
break; throw new Error('Unsupported comparison operator: ' + this.operator_);
case ol.expr.ComparisonOp.GTE:
result = leftVal >= rightVal;
break;
case ol.expr.ComparisonOp.LTE:
result = leftVal <= rightVal;
break;
default:
throw new Error('Unsupported comparison operator: ' + this.operator_);
} }
return result; return result;
}; };
@@ -498,24 +489,19 @@ ol.expr.Math.prototype.evaluate = function(opt_scope, opt_fns, opt_this) {
* math functions where available elsewhere * math functions where available elsewhere
*/ */
switch (this.operator_) { var op = this.operator_;
case ol.expr.MathOp.ADD: if (op === ol.expr.MathOp.ADD) {
result = leftVal + rightVal; result = leftVal + rightVal;
break; } else if (op === ol.expr.MathOp.SUBTRACT) {
case ol.expr.MathOp.SUBTRACT: result = Number(leftVal) - Number(rightVal);
result = Number(leftVal) - Number(rightVal); } else if (op === ol.expr.MathOp.MULTIPLY) {
break; result = Number(leftVal) * Number(rightVal);
case ol.expr.MathOp.MULTIPLY: } else if (op === ol.expr.MathOp.DIVIDE) {
result = Number(leftVal) * Number(rightVal); result = Number(leftVal) / Number(rightVal);
break; } else if (op === ol.expr.MathOp.MOD) {
case ol.expr.MathOp.DIVIDE: result = Number(leftVal) % Number(rightVal);
result = Number(leftVal) / Number(rightVal); } else {
break; throw new Error('Unsupported math operator: ' + this.operator_);
case ol.expr.MathOp.MOD:
result = Number(leftVal) % Number(rightVal);
break;
default:
throw new Error('Unsupported math operator: ' + this.operator_);
} }
return result; return result;
}; };