npm 包 assertf 使用教程

什么是 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


猜你喜欢

  • npm 包 ng-file-upload 使用教程

    在 web 应用中,文件上传是一项必备的功能。而 ng-file-upload 就是一个非常优秀的文件上传框架,它可以快速地完成文件上传操作,同时支持跨域上传、分片上传等功能。

    5 年前
  • npm 包 gulp-todoist 使用教程

    什么是 gulp-todoist ? gulp-todoist 是一个 gulp 插件,它可以将 TODO 和 FIXME 这种待办事项自动提取并生成清单,方便开发人员进行事项管理。

    5 年前
  • npm包angular-webpack-plugin使用教程

    在前端开发中,使用Webpack打包工具已经变得越来越普遍。而在Angular项目中,Angular-CLI提供了非常方便的打包工具,但是有时我们可能需要更加细致地控制Webpack的配置。

    5 年前
  • npm 包 angular-image-cropper 使用教程

    在前端开发中,处理图片的需求非常常见,比如上传头像,截取图片等等,而 angular-image-cropper 就是一个非常优秀的 npm 包,可以快速地实现图片的裁剪。

    5 年前
  • npm 包 angular-environment 使用教程

    在开发 Angular 应用程序时,我们经常需要在开发、测试和生产环境之间进行切换。为了简化这个过程,我们可以使用 angular-environment 这个 npm 包。

    5 年前
  • npm 包 angular-crypto-js 使用教程

    在前端开发领域,JavaScript 不可避免地会涉及到加密和解密的问题。其中,CryptoJS 是一个流行的开源 JavaScript 库,支持常见加密算法,如 MD5,SHA-1,SHA-256,...

    5 年前
  • npm 包 angular-parse-ext 使用教程

    在前端开发中,常常需要将字符串解析成对象或将对象序列化成字符串。在 Angular 中,我们可以使用内置的 JSON 库来完成这个任务,但是当需要处理的字符串有一定复杂度时,自己写解析方法显得非常冗长...

    5 年前
  • npm 包 @pkgr/rollup 使用教程

    介绍 Rollup 是一个使用 ES6 模块语法进行打包的 JavaScript 模块打包器。@pkgr/rollup 是一个基于 Rollup 的 npm 包,可以方便地将多个 JavaScript...

    5 年前
  • npm 包 eslint-plugin-emotion 使用教程

    什么是 eslint-plugin-emotion? 在前端开发中,代码的质量和规范非常重要,而 eslint 就是用来帮助开发者在开发过程中规范代码的工具之一。而 eslint-plugin-emo...

    5 年前
  • npm包 @babel/plugin-syntax-typescript使用教程

    在前端开发中,TypeScript逐渐成为一种流行的语言。然而,许多代码库仍然使用JavaScript编写。由于无法将现有的JavaScript代码全部替换为TypeScript,因此将两种语言结合在...

    5 年前
  • npm 包 @babel/plugin-syntax-throw-expressions 使用教程

    什么是 @babel/plugin-syntax-throw-expressions @babel/plugin-syntax-throw-expressions 是一个 Babel 插件,它允许使用...

    5 年前
  • npm 包 @babel/plugin-syntax-pipeline-operator 使用教程

    前端技术中,npm 是一个不可或缺的工具,它可以方便地管理 JavaScript 包。@babel/plugin-syntax-pipeline-operator 包是一个在 ES2016 提案阶段出...

    5 年前
  • npm 包 @babel/plugin-syntax-optional-chaining 使用教程

    在前端开发中,我们可能经常需要判断一个变量是否为空,如果为空就取默认值,这个时候,我们经常使用的方法是使用 if else 的语句块,但是这样的方法不仅显得繁琐而且复杂,对代码阅读性不利。

    5 年前
  • npm 包 @babel/plugin-syntax-numeric-separator 使用教程

    简介 @babel/plugin-syntax-numeric-separator 是一个 Babel 插件,用于解析数字中的下划线分隔符。这个插件可以帮助开发者更加方便地书写长数字,提高可读性。

    5 年前
  • npm 包 @babel/plugin-syntax-bigint 使用教程

    在 JavaScript 中,BigInt 是一种用于存储大整数的数据类型。然而,由于一些历史原因和技术限制,BigInt 并不是所有浏览器和 Node.js 的版本都支持。

    5 年前
  • npm 包 babel-plugin-log-deprecated 使用教程

    简介 随着技术日新月异,前端开发也在不断发展。在这个不断变革的行业里,很多技术与方法已逐渐被淘汰或者不再适用。为了让更多的开发者能够更好地维护自己的代码并及早发现使用了淘汰或者已经废弃的 API 或插...

    5 年前
  • npm 包 karmatic 使用教程

    前言 在前端开发中,测试是一个必不可少的环节。但是常常出现测试用例运行效率慢、维护成本高等问题。 karmatic 是一个轻量级的测试工具,可以帮助前端开发人员更高效地编写和运行测试。

    5 年前
  • npm 包 @babel/helper-regex 使用教程

    什么是 @babel/helper-regex? @babel/helper-regex 是 Babel 提供的一个 npm 包,他是一个用于辅助处理正则表达式的工具库,可以在 Babel 中用来转义...

    5 年前
  • npm 包 @beemo/driver-babel 使用教程

    前言 当我们在进行前端开发的时候,使用 Babel 进行转译是很常见的操作。Babel 这个工具能够将现代的 JavaScript 代码转译成能够在目标浏览器或者 Node.js 版本中运行的代码,是...

    5 年前
  • npm 包 @beemo/core 使用教程

    了解 @beemo/core @beemo/core 是一款基于 Babel 和 ESLint 的通用构建工具,它提供了一套标准的插件化配置方案,可以用于构建 JavaScript 应用程序和库。

    5 年前

相关推荐

    暂无文章