Notes from Design Patterns: Elements of Reusable Object-Oriented Software.
Custom examples adapted for Typescript; some examples belie actual JS implementation using TS's beloved ES6 classes, but are intended to more-visibly illustrate the pattern as exemplified in the book.