Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/445.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 有没有可能找到一个物体';ecmascript中的s类和模块_Javascript_Class_Ecmascript Harmony - Fatal编程技术网

Javascript 有没有可能找到一个物体';ecmascript中的s类和模块

Javascript 有没有可能找到一个物体';ecmascript中的s类和模块,javascript,class,ecmascript-harmony,Javascript,Class,Ecmascript Harmony,阅读ecmascript harmony规范时,我看不到任何关于检查实例/对象以了解其类和模块信息的内容。我想做的是能够检查javascript对象(这是es6 harmony类的一个实例)并找出: 从中实例化的类的名称 类在其中定义的模块的名称 可能的超类及其模块的名称 有人知道这在es6中是否可行吗 如果没有,是否有不可能或不愿意的原因 我可以想到一个可能的问题,即类与模块的“联系”不如类与其他语言(如Java)中的包的联系。也就是说,如果在ModuleA中定义了ClassA,并且Mod

阅读ecmascript harmony规范时,我看不到任何关于检查实例/对象以了解其类和模块信息的内容。我想做的是能够检查javascript对象(这是es6 harmony类的一个实例)并找出:

  • 从中实例化的类的名称
  • 类在其中定义的模块的名称
  • 可能的超类及其模块的名称
有人知道这在es6中是否可行吗

如果没有,是否有不可能或不愿意的原因

我可以想到一个可能的问题,即类与模块的“联系”不如类与其他语言(如Java)中的包的联系。也就是说,如果在ModuleA中定义了ClassA,并且ModuleB导入ClassA以稍后再将其导出,会发生什么情况

找出实例化它的类的名称

对。您可以在ES6中访问
.constructor.name

找出可能的超类的名称

您可以通过原型链访问超类

找出在其中定义类的模块的名称

不,那是不可能的。如果引擎支持,但代码不支持,则调试器可能能够找到定义类的源文件。模块和类并不像您想象的那样是静态的,它们当然不是名称空间,所以无论如何这都是无用的。

这些信息(目前的情况)很可能在编辑中,可能更容易阅读(但不再更新)