मेरे पास जेएसओएन से कुछ वस्तुओं को deserialized है, जिसमें मैं विभिन्न गेटर और सेटर कार्यों को प्रदान करने के लिए एक नया प्रोटोटाइप असाइन करना चाहता हूं। (के रूप में this question में उल्लेख किया है) यह करने के लिए स्पष्ट तरीका__proto__ संपत्ति को सौंपने का उचित तरीका
myJsonObj.__proto__ = { function1: /* ... */, function2: /* ... */ };
स्थापित करने के लिए हालांकि, MDC helpfully points out के रूप में, __proto__
संपत्ति अमानक और पदावनत है। क्या कई मानक रैपर ऑब्जेक्ट्स बनाने के बिना, समान प्रभाव प्राप्त करने के लिए कोई मानक-अनुरूप तरीका ("मानकों" की कुछ परिभाषाओं के लिए) है?
प्रलेखन आप से जुड़ा हुआ पता चलता है कि आप "उपयोग Object.getPrototypeOf() के बजाय" ([getPrototypeOf()] (https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/GetPrototypeOf))। तो इस तरह कुछ: 'var proto = myJsonObj.getPrototypeOf(); proto.function1 =/* जो भी * /; proto.function2 =/* जो भी * /; ' – Lee
ली, अगर मुझे गलत नहीं है, तो 'ऑब्जेक्ट .getPrototypeOf (myJsonObj)' को कॉल करना मुझे 'ऑब्जेक्ट.प्रोटोटाइप' देगा (क्योंकि 'myJsonObj' के पास कोई अन्य कन्स्ट्रक्टर नहीं था)। इसका मतलब है कि आपके सुझाव का पालन करके, मैं 'myJsonObj' में कक्षा को इंजेक्ट करने के बजाय' ऑब्जेक्ट '(बहुत खराब) संशोधित कर रहा हूं। – kpozin