मैं बिना किसी भाग्य के प्रोटोटाइप ऑब्जेक्ट पर एक गैर-गणना योग्य toJSON
फ़ंक्शन को परिभाषित करने का प्रयास कर रहा हूं। मैं ECMAScript 5 toJSON
को कुछ इसी तरह के लिए उम्मीद कर रहा हूँ:जेएस गैर-संख्यात्मक फ़ंक्शन
Object.defineProperty(obj, prop, { enumerable: false });
हालांकि यह एक संपत्ति है जो एक विधि के रूप में पहुँचा नहीं जा सकता के रूप में यह परिभाषित करता है।
मैं, एक गैर गणनीय फैशन में समारोह को परिभाषित करने के रूप में मैं सभी आदिम प्रकार के प्रोटोटाइप में परिभाषित करने के लिए योजना बना रहा था सक्षम होने के लिए उम्मीद कर रही थी (String
, Number
, Boolean
, Array
, और Object
), ताकि मैं जटिल वस्तुओं के माध्यम से समारोह को पुन: लागू कर सकते हैं।
अंतिम लक्ष्य यहां नेस्टेड संग्रहों के साथ एक बैकबोन मॉडल/संग्रह JSONify सक्षम करने में सक्षम होना है।
- यह एक प्रोटोटाइप पर एक गैर गणनीय समारोह को परिभाषित करना संभव है:
मैं कुल में लगता है कि मैं दो मुख्य प्रश्न हैं? यदि हां, तो कैसे?
- क्या नेस्टेड बैकबोन मॉडल JSONify करने का कोई बेहतर तरीका है?
परिभाषा द्वारा एक विधि * एक वस्तु की एक संपत्ति है। आप एक भेद तैयार कर रहे हैं जो अस्तित्व में नहीं है। यदि आप इसे गैर-गणना योग्य बनाना चाहते हैं, तो जाहिर है कि आप किसी ऑब्जेक्ट की गुणों का आकलन कर रहे हैं। –
हां, हालांकि मैं इसे एक गैर-गणनीय संपत्ति बनाना चाहता हूं, वैसे ही ऑब्जेक्ट.डेफिनप्रोपर्टी गैर-गणना योग्य है। यानी, 'for (x in obj) ' –
दाएं का उपयोग करते समय पुनरावृत्त नहीं किया जाता है। फिर, एक विधि एक वस्तु की एक संपत्ति है जो एक समारोह का संदर्भ देती है। आपके पास जो कोड है वह वह है जो आप संपत्ति को गैर-गणना करने के लिए उपयोग करेंगे। –