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