什么是 assertf
assertf 是一个旨在保证函数实际参数满足要求的 NPM 包。包括但不限于类型检查、正则表达式匹配、枚举型限定等。
如何安装 assertf
npm install assertf --save
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