JavaScript एक ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग (OOP) भाषा है। एक प्रोग्रामिंग भाषा को ऑब्जेक्ट-ओरिएंटेड कहा जा सकता है यदि यह डेवलपर्स को चार बुनियादी क्षमताएं प्रदान करती है:
- एनकैप्सुलेशन (Encapsulation) - डेटा या मेथड्स जैसी संबंधित जानकारी को एक ऑब्जेक्ट के साथ संग्रहीत करने की क्षमता।
- एग्रीगेशन (Aggregation) - एक ऑब्जेक्ट के अंदर दूसरे ऑब्जेक्ट को संग्रहीत करने की क्षमता।
- इनहेरिटेंस (Inheritance) - एक क्लास की दूसरी क्लास (या कई क्लासेस) पर अपने कुछ गुणों और मेथड्स के लिए निर्भर रहने की क्षमता।
- पॉलीमॉर्फिज्म (Polymorphism) - एक फ़ंक्शन या मेथड लिखने की क्षमता जो विभिन्न तरीकों से काम करता है।
ऑब्जेक्ट्स एट्रिब्यूट्स से बने होते हैं। यदि एक एट्रिब्यूट में फ़ंक्शन होता है, तो इसे ऑब्जेक्ट का मेथड माना जाता है, अन्यथा एट्रिब्यूट को प्रॉपर्टी माना जाता है।