मैं जावास्क्रिप्ट में कक्षाओं (और नामस्थान) का अनुकरण कैसे कर सकता हूं?मैं जावास्क्रिप्ट में "कक्षाएं" का अनुकरण कैसे कर सकता हूं? (किसी तृतीय-पक्ष लाइब्रेरी के साथ या उसके बिना)
मुझे एक जावास्क्रिप्ट लाइब्रेरी बनाने की आवश्यकता है और भाषा के साथ सीमित अनुभव है। मैंने हमेशा सोचा कि कक्षाओं के लिए इसका मूल समर्थन था, लेकिन यह जावा से कम है जो मैंने ग्रहण किया था। ऐसा लगता है कि जावास्क्रिप्ट में सब कुछ वास्तव में एक समारोह है।
जो मैंने अभी तक पाया है, वह गतिशील कमजोर भाषा वाली भाषा के साथ बहुत समझ में आता है, लेकिन इससे लोगों के लिए प्रस्थान का थोड़ा सा हिस्सा बनता है जिनका उपयोग दृढ़ता से टाइप की गई भाषा और एक कंपाइलर का उपयोग करने के लिए किया जाता है हमारी त्रुटियों को स्पॉट करें :)
मैं मुख्य रूप से सी # और जावा में काम करता हूं, और कुछ सिंटैक्टिकल समानता की उम्मीद कर रहा था ताकि पुस्तकालय हमारे अन्य सी # डेवलपर्स के लिए परिचित लगेगा जिन्हें इसे बनाए रखना होगा।
मेरे पास निम्न प्रकार का कोड है जो काम करता है, लेकिन मैं सोच रहा था कि इस पर अन्य डेवलपर का क्या होगा। विकल्प क्या हैं? क्या कोई रास्ता बेहतर है? क्या कोई तरीका है जो अधिक पठनीय है?
मैं समझता हूँ कि क्या मैं चाहता हूँ सी # या जावा के लिए कुछ इसी तरह जब मैं सिर्फ तथ्य यह है कि इस , जावास्क्रिप्ट है स्वीकार करना चाहिए है, लेकिन मेरा उद्देश्य यह अधिक परिचित बनाकर अन्य डेवलपर्स के लिए सीखने की अवस्था को कम करने की कोशिश करने के लिए है और उनके लिए सहज ज्ञान युक्त।
//Perform the namespace setup (this will actually be done with checking
//in real life so we don't overwrite definitions, but this is kept short
//for the code sample).
var DoctaJonez = new function();
DoctaJonez.Namespace1 = new function();
/**
* Class description.
*/
DoctaJonez.Namespace1.SomeClass = function()
{
/**
* Public functions listed at the top to act like a "header".
*/
this.publicFunction = privateFunction;
/**
* Private variables next.
*/
var privateVariable;
/**
* Finally private functions.
*/
function privateFunction()
{
}
}
//Create an instance of the class
var myClass = new DoctaJonez.SomeClass();
//Do some stuff with the instance
myClass.publicFunction();
मुझे नहीं पता था कि आप ऐसा कर सकते हैं, जो कि बहुत अधिक सुरुचिपूर्ण दिखता है। इनपुट के लिए धन्यवाद :) +1 –