change expression validation order
diff --git a/player/js/utils/expressions/ExpressionManager.js b/player/js/utils/expressions/ExpressionManager.js
index 20acb03..121763e 100644
--- a/player/js/utils/expressions/ExpressionManager.js
+++ b/player/js/utils/expressions/ExpressionManager.js
@@ -34,12 +34,12 @@
}
function isNumerable(tOfV, v) {
- return tOfV === 'number' || tOfV === 'boolean' || tOfV === 'string' || v instanceof Number;
+ return tOfV === 'number' || v instanceof Number || tOfV === 'boolean' || tOfV === 'string';
}
function $bm_neg(a) {
var tOfA = typeof a;
- if (tOfA === 'number' || tOfA === 'boolean' || a instanceof Number) {
+ if (tOfA === 'number' || a instanceof Number || tOfA === 'boolean') {
return -a;
}
if ($bm_isInstanceOfArray(a)) {
@@ -64,10 +64,7 @@
function sum(a, b) {
var tOfA = typeof a;
var tOfB = typeof b;
- if (tOfA === 'string' || tOfB === 'string') {
- return a + b;
- }
- if (isNumerable(tOfA, a) && isNumerable(tOfB, b)) {
+ if ((isNumerable(tOfA, a) && isNumerable(tOfB, b)) || tOfA === 'string' || tOfB === 'string') {
return a + b;
}
if ($bm_isInstanceOfArray(a) && isNumerable(tOfB, b)) {