对象getter别名

Object getter alias

本文关键字:别名 getter 对象      更新时间:2023-09-26

我的问题很简单,如何在对象getter上创建别名。

示例:

MyClass.prototype = {
    constructor: MyClass,
    get a() {
      // do stuff
    },
    get ab() {
      // do stuff
    },
    get abc() {
      // do stuff
    }
}

这里,aababc的作用完全相同,但必须具有这3个不同的getter,或者更准确地说,必须在同一功能上具有3个不同名称。

get a = ab = abc {
}

显然不起作用,也不起作用

get a() = ab() = abc() {
}

有什么建议吗?

感谢

get ab(){
    return this.a;
}

不要使用对象文字,不能在其中有自引用。相反,以编程的方式定义属性,您确实可以为每个属性重用相同的属性描述符。

var desc = {
    configurable: true,
    get: function() {
      // do stuff
    }
};
Object.defineProperties(MyClass.prototype, {
    a: desc,
    ab: desc,
    abc: desc
});