npm 包 essy-evaluator 使用教程

阅读时长 4 分钟读完

介绍

essy-evaluator 是一个基于 JavaScript 的数学表达式求值器,可以用于浏览器端以及 Node.js 服务端。

该模块的优势在于:

  • 易用性高
  • 支持各种表达式和操作符
  • 非常精准,支持大精度
  • 安全,支持阻止潜在的恶意绕过

下面是该模块的主要特性:

  • 精度高
  • 默认支持以上运算符/函数/常量
  • 支持自己添加二元运算符和一元运算符(最多支持3个参数)
  • 支持自己添加常量
  • 支持自己添加函数
  • 检测潜在的无限循环或额外长的表达式以及安全地消耗它们
  • 支持错误管理

安装

你可以选择直接从 npm 安装 essy-evaluator:

使用

essy-evaluator 模块提供一个名为 evaluate 的函数,我们可以通过传递一个字符串类型的表达式来进行求值操作。下面演示一个简单的使用例子:

操作符

essy-evaluator 模块支持以下的操作符:

  • 加法:+
  • 减法:-
  • 乘法:*
  • 除法:/
  • 取模:%
  • 次方:^
  • 大于:>
  • 大于等于:>=
  • 小于:<
  • 小于等于:<=
  • 等于:==
  • 不等于:!=
  • 严格等于:===
  • 严格不等于:!==
  • 逻辑与:&&
  • 逻辑或:||
  • 逻辑非:!
  • 位移左:<<
  • 位移右:>>
  • 无符号右移:>>>
  • 位与:&
  • 位或:|
  • 位异或:^
  • 位非:~

常量

essy-evaluator 模块支持以下常量:

  • $E:自然常数 e。
  • $LN10:10 的自然对数。
  • $LN2:2 的自然对数。
  • $LOG10E:自然常数 e 以 10 为底的对数。
  • $LOG2E:自然常数 e 以 2 为底的对数。
  • $PI:π。
  • $SQRT1_2:1/2 的平方根。
  • $SQRT2:2 的平方根。

函数

essy-evaluator 模块提供了以下内置函数:

  • abs(x):返回 x 的绝对值。
  • acos(x):返回 x 的反余弦值(单位:弧度)。
  • asin(x):返回 x 的反正弦值(单位:弧度)。
  • atan(x):返回 x 的反正切值(单位:弧度)。
  • ceil(x):向上取整。
  • cos(x):返回 x 的余弦值。
  • exp(x):返回 e 的指数值 x。
  • floor(x):向下取整。
  • log(x):返回 x 的自然对数。
  • max(x1, x2, ...):返回一组数中的最大值。
  • min(x1, x2, ...):返回一组数中的最小值。
  • pow(x, y):返回 x 的 y 次方。
  • random():返回一个随机数。
  • round(x):四舍五入取整,如果有第二个参数 n,则四舍五入精度为 n 位。
  • sin(x):返回 x 的正弦值。
  • sqrt(x):返回 x 的平方根。
  • tan(x):返回 x 的正切值。

该模块还支持自定义函数的添加,如下示例代码:

结论

在本篇文章中,我们介绍了 npm 包 essy-evaluator 的使用方法和几种操作符、常量、函数,同时也演示了如何自定义一些函数、常量和运算符。使用 essy-evaluator 可以轻松地实现数学表达式的计算,并且该模块功能强大、优秀的代码质量和灵活的 API 都是 Essy Software 公司的优势之一。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6005681881e8991b448e43c2

纠错
反馈