js实现getter
JavaScript 实现 Getter
在 JavaScript 中,Getter 是一种特殊的对象属性访问器,用于在访问属性时执行自定义逻辑。Getter 通常与 Setter 配对使用,但也可以单独定义。
使用对象字面量定义 Getter
在对象字面量中,可以通过 get 关键字定义 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 可以像普通方法一样定义:

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






