NPM 包 create-accessor 使用教程

阅读时长 3 分钟读完

在前端开发中,经常需要对于对象的属性进行读写。直接对属性进行访问虽然方便,但不具备数据合法性检查和副作用控制。而手写 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

纠错
反馈