13.1 The Principles of Object-Oriented Programming13.1.1 Classes, Object Instances, and Prototypes13.1.2 Principle 1: Define Abstract Behavior13.1.3 Principle 2: Encapsulate Condition and Behavior13.1.4 Principle 3: Inherit Condition and Behavior13.1.5 Principle 4: Accept Different Types13.1.6 JavaScript and Object Orientation