在Firefox中使用ES6类时,我在获取构造函数名称时遇到问题。在Chromium它工作正常,但Firefox似乎有某种bug?在Firefox中我只返回一个空字符串。知道解决方法的人吗?
class MyClass {}
let a = new MyClass();
console.log(a.constructor.name);
答案 0 :(得分:1)
我认为这是一个错误(根据下面的评论)。
似乎指定显式构造函数在Firefox中表现出正确的行为(即使是最新版本48)。
class MyClassWithConstructor {
constructor() {
console.log("Explicit Constructor")
}
}
class MyClassWithoutConstructor {}
$('#with').click(function() {
let tmp = new MyClassWithConstructor();
alert("MyClassWithConstructor name = " + tmp.constructor.name);
})
$('#without').click(function() {
let tmp = new MyClassWithoutConstructor();
alert("MyClassWithConstructor name = " + tmp.constructor.name);
})

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button id=with>With Constructor</button>
<button id=without>Without Constructor</button>
&#13;
这是指向JSFiddle的链接:https://jsfiddle.net/jc7g5crp/