JSFiddle - React, Tailwind, and code Playground
JavaScript
function scopedEval(str, scope) {
var toCheck = str.split(' || ');
for(var i = 0; i < toCheck.length; ++i){
if(scope[toCheck[i]])
return scope[toCheck[i]];
}
}
var scope = { first:1, second:2 };
var expr1 = "second || first";
var expr2 = "third || second || first";
alert( scopedEval(expr1,scope) );
alert( scopedEval(expr2,scope) );