2011-12-29 7 views
5

क्या आप ईसीएमएस्क्रिप्ट ऑब्जेक्ट के the internal [[Class]] property सेट कर सकते हैं?क्या आप ईसीएमएस्क्रिप्ट ऑब्जेक्ट की आंतरिक [[कक्षा]] संपत्ति सेट कर सकते हैं?

+2

ध्यान दें कि आंतरिक [[क्लास]] संपत्ति ES6 में निकाल दिया जाएगा उपयोगकर्ता भूमि कोड चाल कर सकते हैं। – Raynos

+0

@ रेनोस दिलचस्प। तो फिर 'Array.isArray() 'और इसी तरह के कार्य कैसे काम करेंगे? –

+0

सुनिश्चित नहीं है, वे कुछ समझदार पहचान का उपयोग करेंगे, शायद 'Array.protototype.isPrototypeOf (someArray); ' – Raynos

उत्तर

1

आप सभ्य जावास्क्रिप्ट इंजनों को चालित नहीं कर सकते हैं।

आप के साथ

x.toString = function() { 
    return '[object Array]'; 
} 
+5

यह 'object.prototype.toString.call (ऑब्जेक्ट)' के साथ काम नहीं करेगा। – xfix

+0

@xfix कोई हमेशा ऑब्जेक्ट # टूस्ट्रिंग' को ओवरराइड कर सकता है (हालांकि बिल्कुल अनुशंसित नहीं है) – minmaxavg

+0

@minmaxavg लेकिन कारण ['[वर्ग]] को ओवरराइड करने का कारण आमतौर पर' ऑब्जेक्ट.प्रोटोटाइप 'के साथ इसका उपयोग करना चाहता है ऑब्जेक्ट के प्रकार को प्राप्त करने के लिए .toString.call'। – Taurus

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

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