当前位置:首页 > JavaScript

js实现getter

2026-02-01 00:34:57JavaScript

JavaScript 实现 Getter

在 JavaScript 中,Getter 是一种特殊的对象属性访问器,用于在访问属性时执行自定义逻辑。Getter 通常与 Setter 配对使用,但也可以单独定义。

使用对象字面量定义 Getter

在对象字面量中,可以通过 get 关键字定义 Getter:

js实现getter

const obj = {
  _value: 42,
  get value() {
    return this._value;
  }
};

console.log(obj.value); // 输出: 42

使用 Object.defineProperty 定义 Getter

通过 Object.defineProperty 方法可以在现有对象上动态添加 Getter:

const obj = { _value: 42 };

Object.defineProperty(obj, 'value', {
  get: function() {
    return this._value;
  },
  enumerable: true,
  configurable: true
});

console.log(obj.value); // 输出: 42

在类中定义 Getter

在 ES6 类中,Getter 可以像普通方法一样定义:

js实现getter

class MyClass {
  constructor() {
    this._value = 42;
  }

  get value() {
    return this._value;
  }
}

const instance = new MyClass();
console.log(instance.value); // 输出: 42

Getter 计算属性

Getter 可以用于动态计算属性值:

const circle = {
  radius: 10,
  get diameter() {
    return this.radius * 2;
  }
};

console.log(circle.diameter); // 输出: 20

Getter 的注意事项

Getter 不能接受参数,如果尝试传递参数会报错。如果需要参数化访问,应该使用方法而不是 Getter。

Getter 常用于封装内部状态,提供更安全的访问方式,或者在访问属性时执行额外逻辑(如日志记录、验证等)。

标签: jsgetter
分享给朋友:

相关文章

js实现拷贝

js实现拷贝

实现文本拷贝 使用 document.execCommand 方法(已废弃但兼容性较好): function copyText(text) { const textarea = document…

js实现点击显示和隐藏

js实现点击显示和隐藏

实现点击显示和隐藏的JavaScript方法 使用classList.toggle切换类名 通过添加/移除CSS类控制元素的显示与隐藏,需提前在CSS中定义隐藏样式(如display: none)。…

js实现上传图片

js实现上传图片

使用HTML5的File API实现图片上传 HTML5的File API允许通过JavaScript访问用户选择的文件。需要创建一个文件输入元素,并监听其change事件。 <input t…

js实现图片放大

js实现图片放大

使用 CSS transform 实现图片放大 通过 CSS 的 transform: scale() 属性实现图片放大效果。当鼠标悬停时,图片会平滑放大。 const img = document…

js 实现日历

js 实现日历

实现日历的基本思路 日历的核心功能是展示日期,并允许用户进行日期选择或导航。JavaScript 可以动态生成日历的 HTML 结构,并处理用户交互逻辑。 基础日历结构 日历通常包含头部(显示月份和…

js实现图片滚动

js实现图片滚动

图片滚动的实现方法 使用CSS动画实现 通过CSS的animation和@keyframes可以实现简单的图片滚动效果。这种方法适合静态图片的无缝循环滚动。 <style> .scr…