JavaScript 面试题
目录

JavaScript 中 getter 和 setter 的用法?

· 约 4 分钟读完 · 第 388 / 507 章

推荐答案

在 JavaScript 中,getter 和 setter 是用于定义对象属性的特殊方法。getter 用于获取属性的值,而 setter 用于设置属性的值。它们允许你在访问或修改属性时执行自定义的逻辑。

示例代码

解释

  • get value() 是一个 getter 方法,当访问 obj.value 时会被调用。
  • set value(newValue) 是一个 setter 方法,当设置 obj.value 时会被调用。
  • _value 是一个内部属性,用于存储实际的值。

本题详细解读

1. getter 和 setter 的基本概念

  • Getter: 用于获取对象的属性值。当你访问对象的某个属性时,getter 方法会被自动调用。
  • Setter: 用于设置对象的属性值。当你为对象的某个属性赋值时,setter 方法会被自动调用。

2. 使用场景

  • 数据验证: 在 setter 中可以对传入的值进行验证,确保数据的有效性。
  • 计算属性: 在 getter 中可以返回基于其他属性计算得出的值。
  • 日志记录: 在 getter 和 setter 中可以添加日志记录,方便调试和监控。

3. 语法

  • get 和 set 关键字后面跟着属性名,然后是一个函数体。
  • getter 和 setter 可以定义在对象字面量中,也可以使用 Object.defineProperty 方法动态添加。

4. 动态添加 getter 和 setter

5. 注意事项

  • getter 和 setter 不能与同名的数据属性共存。
  • getter 和 setter 可以用于类的定义中,与普通对象的使用方式类似。

通过使用 getter 和 setter,你可以更好地控制对象的属性访问和修改,增强代码的可维护性和灵活性。