When you're trying to define frameworks in the context of JavaScript framework vs library, think of it this way: JavaScript libraries are like pieces of furniture that add style and function to an already constructed house. Frameworks, on the other hand, are a template you use to build the house itself.
The technical difference between a framework and library lies in a term called inversion of control. When you use a library, you are in charge of the flow of the application. ... When you use a framework, the framework is in charge of the flow.