Javascript 如何返回类的实例名?

Javascript 如何返回类的实例名?,javascript,Javascript,我希望SomeClass的getName()方法返回实例名。在这种情况下,“SomeInstance.”这可能做到吗?如何做到 class SomeClass { getName() { return this.constructor.name; } } var SomeInstance = new SomeClass(); document.write(SomeInstance.getName()); 更新 这就成功了 getName() { for (var ins

我希望SomeClass的getName()方法返回实例名。在这种情况下,“SomeInstance.”这可能做到吗?如何做到

class SomeClass {
  getName() {
    return this.constructor.name;
  }
}

var SomeInstance = new SomeClass();

document.write(SomeInstance.getName());
更新

这就成功了

getName() {
  for (var instance in window){
        if (window[instance] === this){
            return instance;
        }
    }
}

如果您的变量在窗口范围内,请在此处使用JS小提琴:

注意:由于Stackoverflow上的跨域安全错误,嵌入的代码段无法工作(代码段托管在另一个域上)

函数getVariableName(实例)
{
用于(窗口中的obj)
如果(窗口[obj]==实例)返回obj;
返回未定义;
}
上课{
getName(){
返回this.constructor.name;
}
}
var SomeInstance=new SomeClass();
log(getVariableName(SomeInstance))找到了这个

getName() {
  for (var instance in window){
        if (window[instance] === this){
            return instance;
        }
    }
 }

这是不可能的。JavaScript无法知道您将实例命名为什么。为什么要获取实例名称?@suraj我不这么认为……是的,我知道了。。删除了我的注释@AndrewLi
SomeInstance
只是一个指向对象的变量。因为javascript是一种基于引用的语言,所以问这个问题毫无意义。考虑:
var x=newsomeclass();someinstance=x;otherinstance=x
在本例中,我们创建了一个对象,而不是3个,其实例名称可以是
x
someinstance
otherinstance
。您想返回哪个名称?全部的即使您想要所有实例名称,脚本级别也不支持此操作。在低端C级实现中,它是可用的,因为垃圾收集器就是这样工作的。在本例中是“SomeInstance”。而不是SomeClassRun这个代码段。@AlexanderHiggins,但这不是我要问的问题!再读一遍。他们希望在类中获得变量名“SomeInstance”,这是不可能的。Oops。我没听清楚。我会删除第一个答案。是的,我11分钟前发布了那个答案。