This tutorial explains what a factory function is, how they work, why you would want one, and how to optimize them using a prototype object.
Creating them with both classic vanilla JS and the class syntax is covered.
Code from video: https://gist.github.com/prof3ssorSt3v...