2016-09-02 16 views
6

प्राप्त करें मुझे फ़ायरफ़ॉक्स में ES6 कक्षाओं का उपयोग करते समय कन्स्ट्रक्टर का नाम प्राप्त करने में समस्याएं हैं। क्रोमियम में यह ठीक काम करता है, लेकिन फ़ायरफ़ॉक्स में कुछ प्रकार की बग है? फ़ायरफ़ॉक्स में मुझे केवल खाली स्ट्रिंग मिलती है। कोई भी जो कामकाज के बारे में जानता है?फ़ायरफ़ॉक्स ES6, क्लास कंस्ट्रक्टर नाम

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

तो,:

class MyClassWithConstructor { constructor() { console.log("Explicit Constructor") } } class MyClassWithoutConstructor {} $('#with').click(function() { \t let tmp = new MyClassWithConstructor(); \t alert("MyClassWithConstructor name = " + tmp.constructor.name); }) $('#without').click(function() { \t let tmp = new MyClassWithoutConstructor(); \t 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>

यहाँ JSFiddle के लिए एक लिंक है। जब आप पहले '.constructor.name' तक पहुंचते हैं, तो यह एक खाली स्ट्रिंग है। अजीब, मैं बग अनुमान लगा रहा हूँ। प्रदर्शन करने के लिए यहां एक पहेली है: https://jsfiddle.net/gveopgu8/ –

+2

इन मुद्दों के कुछ संबंध हो सकते हैं: https://bugzilla.mozilla.org/show_bug.cgi?id=1192412 https://bugzilla.mozilla.org /show_bug.cgi?id=1280042 –

+2

शायद कुछ अच्छी खबरें, मैं फ़ायरफ़ॉक्स डेवलपर संस्करण (50.0 के आधार पर) में पुन: पेश नहीं कर सकता, इसलिए यह पहले से ही आगामी संस्करण में तय हो चुका है। –

उत्तर

1

मुझे लगता है कि यह एक बग है (नीचे दी गई टिप्पणी के अनुसार)।

ऐसा प्रतीत होता है कि एक स्पष्ट निर्माता निर्दिष्ट करना फ़ायरफ़ॉक्स में सही व्यवहार प्रदर्शित करता है (यहां तक ​​कि नवीनतम संस्करण 48)। जब आप का उपयोग `MyClass.name` पहले, यह काम करता है https://jsfiddle.net/jc7g5crp/

+2

यह एक ईएस 6 सुविधा है और एफएफ में एक बग प्रतीत होता है। – Bergi

संबंधित मुद्दे