Encapsulation
CommonJS Module import functionality
from another module?Through the use of the import-from syntax that looks like this:
import SymbolName from './relative-path.js';
CommonJS Modules
allow other modules to access exported symbols?ES6 Modules export
functionality so other modules can use them?Implementation inheritance
Inheritance
Prototypal inheritance
The constructor method
The Dependency Inversion Principle
extends
keywordThe Interface Segregation Principle
The Law Of Demeter
The Liskov Substitution Principle
The Open-Close Principle
The Single-Responsibility Principle
Any one of the following:
A class should do one thing and do it well.
A class should have only one reason to change.
Gather together the things that change for the same reasons. Separate those things that change for different reasons.