Eval() を使用せずに JavaScript で数式を評価する
潜在的に危険な eval() 関数に頼らずに数式を評価することは一般的ですJavaScript プログラミングのタスク。これに対処するために、いくつかの代替ソリューションを検討してみましょう。
JavaScript Expression Evaluator
JavaScript Expression Evaluator ライブラリは、数式を解析して評価する便利な方法を提供します。式文字列を指定し、変数を使用して評価をカスタマイズできます。たとえば、次のコードは、x が 3 に等しい式 "2 ^ x" を評価します。
const result = Parser.evaluate("2 ^ x", { x: 3 });
Math.js
Math.js も人気があります。算術演算用の JavaScript ライブラリ。これには、幅広い数学関数をサポートする強力な式パーサーが含まれています。 JavaScript Expression Evaluator と同様に、変数を渡して式を動的に評価できます。
const result = math.eval('sin(45 deg) ^ 2');
ユーザーの推奨事項
別のユーザーがスタック オーバーフローで次のような応答を提案しました。 evalx() 関数を利用して数式を安全に評価します。その回答の一部を次に示します。
function evalx(expr, scope) { return Function(`'use strict'; return (${expr})`)()(...scope); }
evalx() 関数を呼び出すことで、eval() に関連するセキュリティ リスクなしで式を評価できます。
以上が「eval()」を使用せずにJavaScriptで数式を安全に評価する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。