Object-oriented programming (OOP) is a programming paradigm that models real-world concepts using objects. JavaScript supports OOP and provides several ways to create and work with objects. We can create objects using object literals, constructor functions, and classes. We can also define methods and properties on objects, and use inheritance and polymorphism to build complex object hierarchies.