Firefox ES6,获取类构造函数名称

时间:2016-09-02 05:49:14

标签: javascript class firefox ecmascript-6 spidermonkey

在Firefox中使用ES6类时,我在获取构造函数名称时遇到问题。在Chromium它工作正常,但Firefox似乎有某种bug?在Firefox中我只返回一个空字符串。知道解决方法的人吗?

class MyClass {}
let a = new MyClass();
console.log(a.constructor.name);

1 个答案:

答案 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;
&#13;
&#13;

这是指向JSFiddle的链接:https://jsfiddle.net/jc7g5crp/