This question came from our site for professional and enthusiast programmers.
Design patterns are known (and battle tested) methods of solving common problems.
Design patterns are used to solve commonly encountered problems related to software design. Once you know how to solve a particular problem, when that problem presents again you can reuse the same approach you used before, the same pattern.
Here's an article to better understand them.
And here's one for applying common design patterns in JS.