मुझे पता है कि आप Object.getOwnPropertyDescriptor(obj,"prop");
के साथ एक निश्चित वस्तु obj
की एक निश्चित संपत्ति 'prop
' की एक संपत्ति डिस्क्रिप्टर ऑब्जेक्ट प्राप्त कर सकते हैं। मैं बस सोच रहा था: इन वस्तुओं को कहां संग्रहीत किया जाता है? क्या वे आंतरिक रूप से किसी ऑब्जेक्ट में संग्रहीत हैं या .... कहीं और? मैंने उन्हें डेवलपर टूल में खोजने की कोशिश की लेकिन बिना किसी किस्मत के।संपत्ति डिस्क्रिप्टर ऑब्जेक्ट्स कहां संग्रहीत हैं?
उत्तर
संपत्ति डिस्क्रिप्टर ऑब्जेक्ट्स स्पष्ट रूप से अनुरोध किए जाने तक मौजूद नहीं हैं। जब आप call Object.getOwnPropertyDescriptor
पर विज्ञापन-प्रसार बनाए जाते हैं। तो निम्नलिखित कोड:
var foo = {bar:'foo'}
Object.getOwnPropertyDescriptor(foo, 'bar') === Object.getOwnPropertyDescriptor(foo, 'bar');
हमेशा झूठे का मूल्यांकन करें।
तो जैसा कि हम देखते हैं (कोड और विनिर्देश दोनों), संपत्ति वर्णनकर्ता वस्तुओं को संग्रहीत नहीं किया जाता है, लेकिन मांग पर बनाया जाता है।
तो जहां writable
, configurable
, value
, get
, set
... atributtes जमा हो जाती है? विशिष्टता के लिए उन्हें उपयोगकर्ता कोड के संपर्क में आने की आवश्यकता नहीं है ... Here is C++ definition for V8 PropertyDescriptor class - ऐसा लगता है कि प्रत्येक संपत्ति एक बाइट पर कब्जा करती है।
और आप जाँच करना चाहते हैं यदि संपत्ति, लिखने योग्य विन्यास या इसी तरह की है, फायरफॉक्स सांत्वना आप ऐसा करने के लिए अनुमति देते हैं (पर केवल यदि संपत्ति लिखने योग्य नहीं है या गेटर/सेटर है):
लेकिन * कोई ऑब्जेक्ट * नहीं - जब किसी अन्य ऑब्जेक्ट की तुलना में - झूठी वापसी? उदाहरण के लिए '[1,2,3] == [1,2,3]' भी 'false' – Danield
ऑब्जेक्ट्स की तुलना संदर्भ से की जाती है (" यह ** वही ** ऑब्जेक्ट ") है, मूल्य से नहीं (" यह है ** समान ** वस्तु ")। उदाहरण के लिए। 'var a = {}, बी = ए; एक === ख; // सच' – Ginden
हाँ, आप सही हैं :) – Danield
- 1. Properties.Settings.Default कहां संग्रहीत हैं?
- 2. मैक्रोज़ कहां संग्रहीत हैं?
- 3. $ _SESSION चर संग्रहीत कहां से संग्रहीत हैं?
- 4. फ्लैश संदेश कहां संग्रहीत हैं?
- 5. गिट स्टैश कहां संग्रहीत हैं?
- 6. ग्रहण बुकमार्क कहां संग्रहीत हैं?
- 7. डेटाबेस में संग्रहीत मूल्य ऑब्जेक्ट्स कैसे हैं?
- 8. नोडज में संग्रहीत वारा कहां हैं?
- 9. कैसे | बंद-ओवर चर कहां संग्रहीत हैं?
- 10. शेफ सर्वर में संग्रहीत कुकबुक कहां हैं?
- 11. UIWebView की कुकीज कहां संग्रहीत हैं?
- 12. एंड्रॉइड लॉगकैट फाइलें कहां संग्रहीत हैं?
- 13. सी ++ में संग्रहीत रैल्यू कहां हैं?
- 14. फ़ायरफ़ॉक्स में संग्रहीत "आपके प्रमाणपत्र" कहां हैं?
- 15. Google क्रोम सिंक बुकमार्क्स कहां संग्रहीत हैं?
- 16. boot2docker द्वारा संग्रहीत डॉकर छवियां कहां हैं?
- 17. पाइथन में चर कहां संग्रहीत हैं?
- 18. स्मृति में संग्रहीत विधियां कहां हैं?
- 19. मूल्य प्रकार कहां संग्रहीत हैं (सी #) जेनेरिक संग्रह
- 20. SQL सर्वर में संग्रहीत विस्तारित गुण कहां हैं?
- 21. ऐरे: ऑब्जेक्ट्स या संदर्भ संग्रहीत
- 22. संदेश कतार सामग्री कहां संग्रहीत है?
- 23. जावास्क्रिप्ट में ऑब्जेक्ट्स मेमोरी में कैसे संग्रहीत हैं?
- 24. कहां है: कमांड इतिहास संग्रहीत?
- 25. Django - PUT/DELETE अनुरोध पर संग्रहीत पैराम कहां हैं?
- 26. आईफोन पर कोर डंप फाइलें कहां संग्रहीत हैं?
- 27. वेब एप्लिकेशन प्रोजेक्ट असेंबली संदर्भ कहां संग्रहीत किए जाते हैं?
- 28. किसी ऑब्जेक्ट के लिए सदस्य फ़ंक्शंस कहां संग्रहीत होते हैं?
- 29. विजुअल स्टूडियो 2010 प्रकाशित प्रोफाइल - वे कहां संग्रहीत हैं?
- 30. JVM में संग्रहीत ऑब्जेक्ट के इंस्टेंस चर कहां हैं?
की मेरी पढ़ने से कल्पना, इस समारोह को कॉल करें [यहां समाप्त करें] (http://www.ecma-international.org/ecma-262/6.0/#sec-ordinarygetownproperty), जहां यह अलग-अलग 'के समूह से वापसी का निर्माण करता है [ [आंतरिक गुण]] '। उन गुणों को अंतिम रनटाइम के संपर्क में आने के लिए _have_ नहीं है, लेकिन कुछ कार्यान्वयन उन्हें उपलब्ध करा सकते हैं, उदाहरण के लिए देव उपकरण में। आपका मिलेज भिन्न हो सकता है ... –
जहां भी कोई विशेष कार्यान्वयन उन्हें स्टोर करने के लिए चुनता है, वे संग्रहीत होते हैं, या अधिक संभावना है, जब वे पूछे जाते हैं तो उनका निर्माण किया जाता है। –