Si vous voulez éviter eval
, et comme il n'y a que 8 comparison operators en JavaScript, est assez simple d'écrire une petite fonction, sans utiliser eval
du tout:
function compare(post, operator, value) {
switch (operator) {
case '>': return post > value;
case '<': return post < value;
case '>=': return post >= value;
case '<=': return post <= value;
case '==': return post == value;
case '!=': return post != value;
case '===': return post === value;
case '!==': return post !== value;
}
}
//...
compare(5, '<', 10); // true
compare(100, '>', 10); // true
compare('foo', '!=', 'bar'); // true
compare('5', '===', 5); // false
Pourquoi voudriez-vous faire cela? – James
De plus, '$ post $ logic $ value' renvoie un booléen, donc pas besoin de'? true: false' ... – James