मैं एक निर्माता के रूप में एक अजीब तरीके से eval
फ़ंक्शन का उपयोग कर रहा हूं।सभी जावास्क्रिप्ट फ़ंक्शंस कन्स्ट्रक्टर भी नहीं हैं?
try {
var y = new eval()
} catch(error) {
console.log("caught a " + error.name + ": " + error.message);
}
यह रूप में त्रुटि फेंकता है,
caught a TypeError: function eval() { [native code] } is not a constructor
त्रुटि संदेश से पता चलता है, eval एक समारोह लेकिन एक निर्माता नहीं है।
सवाल यह है कि, सभी जावास्क्रिप्ट फ़ंक्शंस कन्स्ट्रक्टर के रूप में भी कार्य नहीं करते हैं?
eval एक आरक्षित कीवर्ड/एक मूल कार्य है। इसके साथ गड़बड़ मत करो। –
नहीं, कुछ अन्य उल्लेखनीय अपवाद कुछ _DOM_ विधियां हैं और _arrow functions_ 'x => अपरिभाषित' –
सहमत हैं, eval एक अंतर्निहित फ़ंक्शन है। यदि आपने अपना स्वयं का 'फ़ंक्शन myEval() {} 'बनाया है और फिर उस कोड का उपयोग किया जाना चाहिए तो यह ठीक होना चाहिए। –