在Javascript中定义对象的getter?

时间:2014-11-12 00:30:23

标签: javascript object prototype

假设我有一个如下定义的对象(取自here

function Foo (val) {
    this.bar_ = val + val;
}

Foo.prototype = {
    get bar()  {
        return this.bar_;
    },
    set bar(val) {
        this.bar_ = val + val;
    }
};

var foo = new Foo('bar');

然后设置并获取属性会相应地返回它们

console.log(foo.bar); // 'barbar'
foo.bar = 'baz';
console.log(foo.bar); // 'bazbaz'

但是有没有办法将对象的getter绑定到属​​性的值,如此

console.log(foo); // 'bazbaz'

或者这会在尝试与属性进行交互时产生问题,因为foo.someMethod()实际上是'bazbaz'.someMethod()

0 个答案:

没有答案