You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为单个JavaScript对象添加get操作符(而非整个类)?

用get操作符实现无需括号调用对象方法的方案

有两种常用方式实现这个需求:

1. 创建对象时直接定义getter属性

直接在对象字面量里用get关键字定义目标属性,访问时就像读取普通属性一样,无需加括号:

const my_object = {
  get new_function() {
    return 1;
  }
};

// 直接访问,无需括号
console.log(my_object.new_function); // 输出 1

每次访问my_object.new_function时,都会执行get函数里的逻辑并返回结果。

2. 给已存在的对象动态添加getter

如果对象已经创建好,可以用Object.defineProperty()方法给它添加getter属性:

const my_object = {};

// 动态添加getter
Object.defineProperty(my_object, 'new_function', {
  get() {
    return 1;
  }
});

// 直接访问
console.log(my_object.new_function); // 输出 1

注意点

  • getter函数不能接收参数,适合不需要传参的场景
  • 每次访问该属性都会触发get函数的执行,如果包含复杂逻辑,要注意性能开销

内容的提问来源于stack exchange,提问作者David Rouyre

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.23 14:54:22