npm 包 assertf 使用教程

阅读时长 5 分钟读完

什么是 assertf

assertf 是一个旨在保证函数实际参数满足要求的 NPM 包。包括但不限于类型检查、正则表达式匹配、枚举型限定等。

如何安装 assertf

assertf 的基本使用

assertf 的使用很简单。我们需要在需要保证参数正确性的函数中引入 assertf,然后描述参数的限制条件即可。

下面是一个实例,在函数 add(a, b) 中,我们定义了 a、b 的类型应该都是数字类型:

-- -------------------- ---- -------
----- ------- - -------------------

-------- ------ -- -
  ----------------------
  ----------------------

  ------ - - --
-

----- ------ - ------ ---  -- ------ -- -

这样我们就可以放心地使用此函数,并且保证了此函数的参数正确性。

assertf 的参数修饰符描述

以下是 assertf 支持的参数修饰符描述:

  • is(Class)
    • 参数类型必须为 Class 的实例或与 Class 相同类型
  • optional(Class)
    • 参数可以不存在或者是 Class 的实例或与 Class 相同类型
  • oneOf(Array)
    • 参数值必须是数组 Array 中的某一项
  • instanceOf(Class)
    • 参数必须是 Class 的实例
  • not(Class)
    • 参数必须不是 Class 的实例
  • regex(RegularExpression)
    • 参数必须符合 RegularExpression 正则表达式的规则
  • function
    • 参数必须是函数
  • array
    • 参数必须是数组

下面是一个带有多个限制条件的函数 user(name, age, gender) 的实例:

-- -------------------- ---- -------
----- ------- - -------------------

-------- ---------- ---- ------- -

  -------------------------------------
  ---------------------------------
  ------------------------------ -----------

  ---------------- -- ---- -- -------- - -- ------ ----- ---- --- --- - -------------
-

----------- --- --------    -- --- -- ---- -- ---- - -- -- ----- ---- --- --- - -----
------------ ----------     -- --- -- ---- -- ----- - -- --------- ----- ---- --- --- - -------
-------- --- ---------      -- -------- ------ --------- ---- ------ --- -- ------

assertf 常见错误处理

除了在函数参数正确性校验时抛出错误外,assertf 还提供了其他错误处理方式:

  • allowUndefined: 可以忽略不存在的参数并直接执行函数而不抛出异常。使用方式:assertf.allowUndefined = true;
  • allowException: 可以忽略参数类型异常并直接执行函数而不抛出异常。使用方式:assertf.allowException = true;

下面是一些详细的错误处理实例:

-- -------------------- ---- -------
----- ------- - -------------------

-------- ---------- -- -
  ---------------------- - -----
  ----------------------
  ----------------------

  ------ - - --
-

------------------------    -- ---
---------------------- ---- -- -

-------- --------------- --------- -
  ---------------------- - -----

  -----------------------------
  -----------------------------

  ------ ------ ---------------
-

-------------------------- ------ -- ----- -------------
---------------------- ------------- -- ---------- --------- ---------- ---- --- ---- -------------

assertf 对函数式编程的好处

在函数式编程实践中,每个函数应该是没有副作用的,也就是说输入的值固定,输出的值也是固定的。因此,assertf 的参数的正确性成了十分重要的事情,恰好也十分符合函数式编程的思想。

小结

assertf 是一个 NPM 包,使用十分简便,可以快速保证参数正确性,提高程序的稳定性和可靠性,也符合现代软件开发中函数式编程的思想。

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