Maison >interface Web >js tutoriel >Comment évaluer en toute sécurité des expressions mathématiques en JavaScript sans utiliser « eval() » ?
Évaluer des expressions mathématiques en JavaScript sans utiliser Eval()
Évaluer des expressions mathématiques sans recourir à la fonction eval() potentiellement dangereuse est une pratique courante tâche en programmation JavaScript. Pour résoudre ce problème, explorons quelques solutions alternatives.
JavaScript Expression Evaluator
La bibliothèque JavaScript Expression Evaluator fournit un moyen pratique d'analyser et d'évaluer des expressions mathématiques. Il vous permet de spécifier des chaînes d'expression et d'utiliser des variables pour personnaliser l'évaluation. Par exemple, le code suivant évalue l'expression "2 ^ x" avec x égal à 3 :
const result = Parser.evaluate("2 ^ x", { x: 3 });
Math.js
Math.js est un autre populaire Bibliothèque JavaScript pour les opérations mathématiques. Il comprend un analyseur d'expressions puissant qui prend en charge un large éventail de fonctions mathématiques. Comme l'évaluateur d'expressions JavaScript, il vous permet de transmettre des variables et d'évaluer des expressions de manière dynamique :
const result = math.eval('sin(45 deg) ^ 2');
Recommandation de l'utilisateur
Un autre utilisateur a suggéré une réponse sur Stack Overflow qui utilise la fonction evalx() pour évaluer les expressions mathématiques en toute sécurité. Voici un extrait de cette réponse :
function evalx(expr, scope) { return Function(`'use strict'; return (${expr})`)()(...scope); }
En appelant la fonction evalx(), vous pouvez évaluer des expressions sans les risques de sécurité associés à eval().
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!