NPM 包 create-accessor 使用教程

在前端开发中,经常需要对于对象的属性进行读写。直接对属性进行访问虽然方便,但不具备数据合法性检查和副作用控制。而手写 getter 和 setter 又很容易造成代码重复和操作过于繁琐。因此,create-accessor 包就应运而生。这个 NPM 包可以通过配置来动态的生成对象的 getter 和 setter 访问器,让属性的访问变得更简单,更优雅。

安装

使用 NPM 全局安装 create-accessor 包

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

使用

在 Node.js 项目里引入 create-accessor 包,并使用 createAccessor 方法生成访问器,如下所示:

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

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

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

上面代码中,createAccessor 方法接受一个对象数组,每个对象都表示一个属性,包含以下属性:

  • name: 属性名,必须指定。
  • validator:值的验证,如需添加特殊额外的验证,需要指定该属性为一个验证函数。
  • beforeSet: 存储器的 setter 转换函数,用于将传入的值转换成实际存储的值。
  • afterGet: 存储器的 getter 转换函数,用于将存储的值转换成返回的值。

使用 createAccessor 方法创建出的对象,通过点访问器访问到的属性就是被设定好的 setter 和 getter。

原理

create-accessor 通过 Object.defineProperty 给对象的都添加 getter 和 setter,所以这段代码中的所有操作都会委托给 create-accessor。

总结

通过使用 create-accessor ,我们可以快速且优雅地为对象属性提供 getter 和 setter。同时,我们还可以通过验证函数,限制存储器的访问,确保了属性的正确性。此外,我们还可以添加 beforeSet 和 afterGet 函数来转换存储器的值,使其更符合业务需求。create-accessor 是一个非常实用、简单和易用的工具,有能力和需要的开发者可以尝试使用。

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/600668f8d9381d61a3540f73


猜你喜欢

  • npm 包 like-to-regexp 使用教程

    在前端开发中,匹配字符串非常重要。而使用正则表达式是一种高效且强大的方式。然而,正则表达式看起来很复杂,学习曲线陡峭,因此,许多开发者在编写正则表达式时遇到了困难。

    3 年前
  • npm 包 @gfi-centre-ouest/docker-compose-spec-typescript 使用教程

    前言 随着时代的发展,前端技术也在不断地发展和进步。其中,npm 包作为前端技术开发的重要组成部分,具有非常重要的作用。而在众多的 npm 包中,@gfi-centre-ouest/docker-co...

    3 年前
  • npm 包 @up24/guid 使用教程

    简介 npm 是 Node.js 的包管理工具,可以通过 npm 快速查找并安装第三方包。@up24/guid 是一个可以生成唯一标识符的 npm 包。在前端开发中,唯一标识符经常被用于指定 DOM ...

    3 年前
  • npm 包 consent-swarm 使用教程

    简介 consent-swarm 是一款基于 P2P 网络的用户数据共享工具。它可以在不泄露用户信息的情况下实现跨平台、跨应用的数据共享和交换,并为用户提供更加个性化的服务。

    3 年前
  • npm 包 angular-whenscrolled 使用教程

    前言 在前端开发中,无限滚动是经常遇到的需求。为了更加高效和方便地实现无限滚动,我们可以使用一些现成的工具包。本文介绍了一个常用的 npm 包:angular-whenscrolled。

    3 年前
  • NPM 包 Gatsby-plugin-freshchat 使用教程

    在 Web 开发中,与用户之间的交互非常重要。而 Freshchat 是一款无缝集成于网站或应用程序的实时聊天软件,为用户提供即时支持。Gatsby-plugin-freshchat 是一个 Gats...

    3 年前
  • npm 包 ember-is-visible 使用教程

    1. 什么是 ember-is-visible? ember-is-visible 是一个轻量级的 Ember.js 库,用于检测 HTML 元素是否在用户的浏览器视窗内可见。

    3 年前
  • npm 包 empty-standby-list 使用教程

    当我们的电脑长时间运行时,可能会出现内存占用过高的情况。这时候,如果我们不愿意重启电脑,就需要使用 empty-standby-list 这个 npm 工具包来清空系统内存。

    3 年前
  • npm 包 jsttd-uniq 使用教程

    前言 在前端开发中,我们常常需要去重数组或者对象数组,以便后续的业务操作。JavaScript 中提供了 Set 数据结构,可以方便地对基本类型数组去重,但对于对象数组需要进行一些处理才能去重。

    3 年前
  • npm 包 class-loop 使用教程

    在前端开发中,经常需要在 DOM 元素上应用某种样式或操作。如果 DOM 元素较多,手动为每一个元素添加样式或操作会变得非常麻烦和繁琐。为了简化这个过程,我们可以使用 npm 包 class-loop...

    3 年前
  • npm 包 personal-number-generator 使用教程

    personal-number-generator 是一款 npm 包,它可以生成个人身份证号码。在前端开发中,有时候需要使用到身份证号码来进行数据验证或者其他操作,使用这个包可以方便地生成测试数据。

    3 年前
  • npm 包 ww-vue2-editor 使用教程

    在前端开发中,我们经常需要使用一些富文本编辑器来实现文章编辑、留言等功能。ww-vue2-editor 是一个基于 Vue.js 2.x 的富文本编辑器组件,它支持文章编辑、图片上传等功能。

    3 年前
  • npm 包 dynamodb-mongodb-migrate 使用教程

    在现代 Web 开发中,许多前端项目需要与后端数据库进行交互。而在这些数据库中,DynamoDB 和 MongoDB 是非常受欢迎的两种 NoSQL 数据库。在许多情况下,我们需要在这两种数据库之间进...

    3 年前
  • npm 包 a11yoffcanvas 的使用教程

    前言:无障碍(Web Accessibility)是近年来越来越被重视的一个话题,a11yoffcanvas 是一个用于创建 无障碍级别的 Web 应用程序面板 的 npm 包。

    3 年前
  • npm 包 @jimpick/peer-star-app 使用教程

    前置知识 在学习 @jimpick/peer-star-app 之前,需要掌握以下的基础知识: npm 的基本使用方法和相关命令; IPFS 的基本概念及其使用方法; js-ipfs 的基本概念及其...

    3 年前
  • npm 包 @doubret/opentracing-auto 使用教程

    在前端开发过程中,我们经常需要进行性能优化和调试。其中一个非常有用的工具就是分布式追踪,可以追踪整个服务调用链路,了解程序性能瓶颈所在,从而优化程序。 在本文中,我们将介绍一个开源的 npm 包 @d...

    3 年前
  • npm 包 meeow 使用教程

    介绍 meeow 是一个轻量级的前端库,它能够快速地将输入框上显示错误信息的逻辑添加到你的表单验证中。使用 meeow,你不再需要手动管理错误信息的显示和隐藏,而是将此逻辑交给 meeow 来处理。

    3 年前
  • npm 包 react-rp-components 使用教程

    在前端开发中,React 是一种流行的 JavaScript 库,很多项目都会使用到 React 相关的包。react-rp-components 是一个 npm 包,提供了一系列基于 React 的...

    3 年前
  • npm 包 rollup-plugin-stylus-to-css 使用教程

    简介 在前端开发过程中,CSS 是我们必不可少的一部分,而前端 CSS 的编写方式也有很多种,比如 SASS、LESS、Stylus 等等。而 rollup-plugin-stylus-to-css ...

    3 年前
  • npm 包 @sletheren/personalnumbergenerator 使用教程

    在前端开发中,生成各种随机数据是常见的需求。而个人身份证号码是机密数据,如果需要生成身份证号码来作为测试数据,那么我们就需要一个安全可靠的工具。这时候,就可以使用 npm 包 @sletheren/p...

    3 年前

相关推荐

    暂无文章