Object-Oriented Programming with JavaScript uses objects to design applications. Objects contain data fields and methods to perform tasks. JavaScript supports OOP through functions that act as classes from which object instances can be created. Key OOP concepts in JavaScript include classes/functions, objects/instances, constructors, properties, methods, and inheritance where a child class can inherit from a parent class.