Javascript 对象getter别名
我的问题很简单,如何在对象getter上生成别名 例如:Javascript 对象getter别名,javascript,Javascript,我的问题很简单,如何在对象getter上生成别名 例如: MyClass.prototype = { constructor: MyClass, get a() { // do stuff }, get ab() { // do stuff }, get abc() { // do stuff } } 这里,a、ab和abc的作用完全相同,但必须有这3个不同的getter,或者更准确地说,必须在同一功能
MyClass.prototype = {
constructor: MyClass,
get a() {
// do stuff
},
get ab() {
// do stuff
},
get abc() {
// do stuff
}
}
这里,a
、ab
和abc
的作用完全相同,但必须有这3个不同的getter,或者更准确地说,必须在同一功能上有3个不同的名称
get a = ab = abc {
}
这显然不起作用,也不起作用
get a() = ab() = abc() {
}
有什么建议吗
谢谢不要使用对象文字,一个对象文字中不能有一个。相反,您可以通过编程的方式重新使用相同的属性描述符
var desc = {
configurable: true,
get: function() {
// do stuff
}
};
Object.defineProperties(MyClass.prototype, {
a: desc,
ab: desc,
abc: desc
});
get ab(){a()}
,否?如果您正在寻找PHP magic类方法的Javascript等价物,我不确定它们是否以您希望的方式存在。谢谢,最后我这样做了:
var desc = {
configurable: true,
get: function() {
// do stuff
}
};
Object.defineProperties(MyClass.prototype, {
a: desc,
ab: desc,
abc: desc
});