This this JavaScript design patterns tutorial, we are going to implement popular design patterns in JavaScript and at the same time we understand this difficult topic with real examples. JavaScript design patterns have a number of features. The language has no interfaces, so you have to resort to some agreements. We assume that a class implements a certain interface if it has inherent methods and properties. The interfaces themselves are described in the comments. The examples use ES6 syntax.