Personally I try to avoid JS constructors as `new` keyword behaviour is broken IMHO. Sure, there are ways to patch that, but should we do it over and over again?

Better to use `class` keyword, as it's universally supported part of ES2015 already. However classes come with its own set of confusion to Java and C# developers.

I've tried to explain the point in a post, so have a read, please :) https://levelup.gitconnected.com/oop-best-practices-that-are-anti-patterns-in-functional-javascript-61ee1af35452

Father. Husband. Solutions developer profesionally (software quite often). Arsenal supporter. Cyclist.