javascript - JavaScript 中的隐式访问器?

标签 javascript ecmascript-6 accessor ecmascript-harmony

在 ColdFusion(一种服务器端语言)中,可以让 CF 为您在类中生成任何 getter 和 setter,如下所示:

component output="false" accessors="true" {

    property string title;

    public any function init() output = false {

        setTitle("");
        return this;

    }

}

在这里,我从不编写 setTitle() setter,它只是隐式的。

ES5/ES6/ES7 中的 JavaScript(甚至 jQuery)有没有这样的东西?

最佳答案

您可以为任何对象分配任意属性,而无需显式编写 setter/getter。

尽管您可以根据需要使用它们。

function myClass() {}

Object.defineProperty(myClass.prototype, "bar", {
  get: function get_bar() {
    return this._bar;
  },
  set: function set_bar(value) {
    this._bar = value;
    alert(value);
  }
});

var instance = new myClass();
instance.foo = "123"; // Arbitary
instance.bar = "456"; // Explicit setter/getter
console.log(instance.foo, instance.bar);

关于javascript - JavaScript 中的隐式访问器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30456567/

相关文章:

visual-studio-2008 - 使用访问器进行单元测试

objective-c - 使用点符号调用属性的 getter 方法

javascript - 使用 css 显示和隐藏元素不起作用

javascript - 为什么字符串在 ES2015 中是可迭代的?

ruby - 如何做真正的只读属性(accessors => attributs)

javascript - 打印模板文字中的箭头函数

输入文本上的 Javascript 文本输入将格式更改为小数点后两位

javascript - box2d world.ClearForces() 有什么意义?

javascript - deferred.always() 触发得太早

javascript - 如何知道弹出窗口何时关闭