Is there anyway to convert a string to a condition inside if statement:
example:
var condition = "a == b && ( a > 5 || b > 5)";
if(condition) {
    alert("succes");
}
                A safer alternative to eval() may be Function().
var condition = "4 == 4 && ( 10 > 5 || 9 > 5)";
var evaluate = (c) => Function(`return ${c}`)();
if(evaluate(condition)) {
    alert("succes");
}
Per MDN:
eval()is a dangerous function, which executes the code it's passed with the privileges of the caller. If you runeval()with a string that could be affected by a malicious party, you may end up running malicious code on the user's machine with the permissions of your webpage / extension. More importantly, a third-party code can see the scope in whicheval()was invoked, which can lead to possible attacks in ways to which the similarFunctionis not susceptible.
You can use new function
let a = 6;
let b = 6
var condition = "a == b && ( a > 5 || b > 5)";
let func = new Function('a','b', `return (${condition})` )
if(func(a,b)) {
    alert("succes");
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With