Javascript setter-如何在setter中获取setter的名称?

Javascript setter-如何在setter中获取setter的名称?,javascript,setter,Javascript,Setter,因此,我需要获取在为setter赋值时调用的setter的名称。像这样: var b = {}; var a = { set hey(value) { b[<name of setter>] = value; } } varb={}; 变量a={ 设置hey(值){ b[]=数值; } } 我希望setter的名称为“hey”,因此b.hey等于您将a.hey设置为的值 我已经找了几天了,找不到我问题的答案。非常感谢您的帮助 您可以检查arguments.callee.

因此,我需要获取在为setter赋值时调用的setter的名称。像这样:

var b = {};

var a = {
 set hey(value) {
  b[<name of setter>] = value;
 }
}
varb={};
变量a={
设置hey(值){
b[]=数值;
}
}
我希望setter的名称为“hey”,因此
b.hey
等于您将
a.hey
设置为的值


我已经找了几天了,找不到我问题的答案。非常感谢您的帮助

您可以检查
arguments.callee.name
以获取函数名,切掉前导的
集合
,并将其分配给
b
的属性:

varb={};
变量a={
设置hey(值){
const name=arguments.callee.name.slice(4);
b[名称]=值;
}
}
a、 嘿=‘福’;

控制台日志(b)检查这个。为什么您希望setter在另一个对象中设置值?但您知道setter的名称?你只是在上面写了一行?你能解释一下你为什么需要这个吗?setter是根据其他逻辑被分配了一个名字的。因此,您无法真正预测名称将是什么。
被调用方
?真正地今天?我不确定是否有其他方法将
a
保留为普通对象。代理肯定更好,如果它是一个选项的话,当然非常好!多亏了你,我终于可以继续我的项目了!