ES9 中的数据属性:了解并使用 getters 和 setters

阅读时长 3 分钟读完

在 JavaScript 中,对象属性可以被定义为数据属性或访问器属性。数据属性是一个包含一个值的属性,而访问器属性则是一对 getter 和 setter 函数,它们分别在获取和设置属性时被调用。在 ES9 中,我们可以使用 getters 和 setters 更好地控制对象属性的访问和修改。

getters 和 setters 的语法

ES9 中定义 getter 和 setter 的语法如下:

其中,propName 是属性名,get propName() 是访问器属性的 getter,set propName(value) 是访问器属性的 setter。Getter 函数不接受任何参数,返回属性值;Setter 函数接受一个参数,即要设置的属性值。

getters 和 setters 的使用

使用 getters 和 setters 可以让我们更好地控制对象属性的访问和修改。例如,我们可以使用 getters 和 setters 来限制属性的值范围,或者在属性被访问或修改时触发一些操作。

下面是一个使用 getters 和 setters 的示例代码:

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

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

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

在上面的代码中,我们定义了一个 person 对象,其中包含 firstNamelastName 两个数据属性,以及一个访问器属性 fullNamefullName 的 getter 返回 firstNamelastName 的组合,setter 根据传入的值设置 firstNamelastName

我们可以通过设置 person.fullName 的值来修改 firstNamelastName,并通过访问 person.fullName 来获取完整的名字。

总结

在 ES9 中,我们可以使用 getters 和 setters 更好地控制对象属性的访问和修改。Getter 函数用于获取属性值,Setter 函数用于设置属性值。使用 getters 和 setters 可以让我们更好地限制属性的值范围,或者在属性被访问或修改时触发一些操作。

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

纠错
反馈