कई ने वैसा ही किया, जैसा कि वे रचनाओं के- instance- रूप es5 वस्तुओं के रूप में बंद है और कक्षाओं के शब्दों के साथ शुरू किया गया था लक्षण।
doku.php?do=search&id=traits
विचार है कि भाषा समर्थन इस अर्थ विज्ञान कुशल बनाना होगा, बेसब्री से उदाहरण प्रति विधि के अनुसार एक बंद आवंटित करने के लिए जरूरत से परहेज था।
हालांकि, कारणों से मैं समझता हूं, ये कर्षण प्राप्त करने में विफल रहे। इसके बजाए, हम प्रोटोटाइप विरासत में एन्कोडिंग कक्षाओं के प्रमुख एएस 5 पैटर्न के लिए चीनी की ओर बढ़ते हैं। प्रारंभ में, हमने इसे पूरी तरह से चीनी होने की कोशिश की, ताकि लोग कक्षाओं में उस प्रमुख पैटर्न में दर्द रहित ढंग से कोड को दोबारा कर सकें।
जैसा कि हम सुपर और निर्माण के आसपास विस्तृत अर्थशास्त्र के साथ कुश्ती करते हैं, ईएस 6 कक्षाएं शुद्ध चीनी होने से विचलित होती हैं। लेकिन यह विचलन केवल es6 वर्गों से प्रभावशाली es5 पैटर्न में दर्द रहित रिफैक्टरिंग को रोकता है। व्यावहारिक रूप से, यह ईएस 5 पैटर्न से एएस 6 कक्षाओं में प्रतिक्रिया करने के लिए दर्द रहित रहता है। decreeing कि तरीकों accessors जिसका गेटर बांध के रूप में प्रोटोटाइप पर स्थापित कर रहे हैं द्वारा व्यवहार के लेखांकन -
zenparsing/es-function-bind#17 हम
हम अभी भी तरीकों निकासी पर बाध्य किया था हो सकता था एहसास हुआ। हालांकि, यह अहसास es6 के लिए बहुत देर हो गई। चूंकि यह कक्षाओं में अधिक खतरनाक रूप से पुनर्विक्रय कर सकता था - एक अर्थपूर्ण परिवर्तन के अधिक - यह स्पष्ट नहीं है कि अगर हम समय पर इसके बारे में सोचते हैं तो यह उड़ जाएगा। इसके बजाय, सजावटी डिजाइनों की सभी भिन्नताओं के तहत, कोई ऐसे सजावटी को लिख सकता है ताकि स्पष्ट रूप से इस एक्सेसर संपत्ति को बनाकर सजाए गए तरीकों को बाध्य-पर-निष्कर्षण दिया जा सके। हालांकि (!), यदि उपयोगकर्ता-भूमि सजावट के रूप में लागू किया गया है, तो वस्तुओं के बंद होने की तुलना में इसका बहुत खराब प्रदर्शन है !! ऑब्जेक्ट आवंटित करते समय ऑब्जेक्ट्स-ए-क्लोजर में आवंटन लागत अधिक होती है।
jsperf.com/creating-stateful-objects
लेकिन वस्तु का उपयोग कर एक बार वस्तु बनाई गई है में बहुत प्रभावी होती हैं:।
jsperf.com/strict-where-state
(ध्यान दें कि jsperf क्रोम 46.0.2486 के रूप में एज 28.14257.1000.0 misidentifying है यह वह जगह है ध्यान देने योग्य है क्योंकि एज वीकमैप्स के लिए ट्रांसपोज़ेड प्रस्तुति का उपयोग करता है, और इसलिए निजी राज्य के वीकैप-आधारित उपयोग एज पर बहुत कम जुर्माना है। हालांकि यह इस धागे के बिंदु के अलावा है।)
बाइंडिंग-ऑन-निष्कर्षण कुशल के लिए एक सजावटी बनाने के लिए, कार्यान्वयन को तुरंत निकालने के बजाए विधि को तुरंत लागू होने पर आवंटन से बचने के लिए किसी प्रकार के विशेष मामले की आवश्यकता होगी।इसे सक्षम करने के लिए टीसी 3 9 की एकमात्र चीज ऐसी सजावट को मानकीकृत करने की आवश्यकता है ताकि कार्यान्वयन इसे एक बिल्टिन के रूप में प्रदान कर सके जो वे पहचानते हैं।
ऐसा इसलिए है क्योंकि आप संदर्भ को बदलने वाले अन्य कार्यों के कार्यों को पारित कर रहे हैं। जैसे घटना हैंडलर। तीर फ़ंक्शंस से निपटने में आसान बनाता है: 'foo.on (' poop ', e => this.someMethod (e)) ' –
https://esdiscuss.org/topic/why-are-es6-class-methods- स्वचालित रूप से बाध्य करने के लिए उदाहरण – Gerrit0
यह है कि यह 'जेएस जेएस (-फंक्शन) में कैसे काम करता है, और कण में कक्षाओं के साथ कुछ भी नहीं है। और यह भी कारण/तरीका है कि प्रोटोटाइप विरासत जेएस में काम करता है। जेएस जावा के रूप में कठोर नहीं है। शायद आप गलत निर्माण का उपयोग कर रहे हैं? शायद एक बेहतर दृष्टिकोण है? – Thomas