A JavaScript library is a library of pre-written JavaScript code that allows for easier development of JavaScript-based applications,[1] especially for AJAX and other web-centric technologies.[2] They can be included in a website by embedding it directly in the HTML via a script tag.


With the expanded demands for JavaScript, an easier means for programmers to develop such dynamic interfaces was needed.[3][4] Thus, JavaScript libraries and JavaScript widget libraries were developed, allowing for developers to concentrate more upon more distinctive applications of Ajax.[5] This has led to other companies and groups, such as Microsoft and Yahoo! developing their own JavaScript-based user interface libraries, which find their way into the web applications developed by these companies.[6] Some JavaScript libraries allow for easier integration of JavaScript with other web development technologies, such as CSS, PHP, Ruby, and Java, while others provide utilities, often in the form of JavaScript functions, to make repetitive and complex tasks less taxing.[7][8] Many libraries include code to detect differences between runtime environments and remove the need for applications to allow for such inconsistencies.[citation needed]

Almost all JavaScript libraries are released under either a permissive or copyleft license to ensure license-free distribution, usage, and modification.[9]


Some JavaScript libraries, such as Angular, are classified as frameworks since they exhibit full-stack capabilities and properties not found in general JavaScript libraries.[10][11]


All npm packages are JavaScript libraries, but not all libraries are packages. Npm originally stood for "Node Package Manager", as the name implies, npm serves as a package manager for packages used in Node.js runtimes.[12][13] However, some npm packages offer CDN support for use of the library in both Node.js runtimes as well as the browser.[14]

See also


  1. ^ David Sawyer McFarland (2014). JavaScript & JQuery: The Missing Manual. O'Reilly Media. p. 106. ISBN 9781491948620.
  2. ^ "What is a JS library?". Khan Academy. Retrieved 2018-01-15.
  3. ^ Peters, Siem (2019-04-08). "A Brief History of JavaScript: from Netscape to Frameworks". Medium. Retrieved 2022-03-15.
  4. ^ AsyncBanana (2021-04-21). "A Short History of JavaScript and Its Evolution". Medium. Retrieved 2022-03-15.
  5. ^ Andy Harris (2009). JavaScript and AJAX For Dummies. Wiley. p. 240. ISBN 9780470417997.
  6. ^ Jake Rutter (2011). Smashing JQuery. Wiley. p. 21. ISBN 9780470977361.
  7. ^ Walsh, David (2007-09-05). "6 Reasons To Use JavaScript Libraries & Frameworks". David Walsh Blog. Retrieved 2022-03-15.
  8. ^ "40 Useful NPM Packages for Node.js Apps in 2021". leanylabs.com. Retrieved 2022-03-15.
  9. ^ Shelley Powers (2010). JavaScript Cookbook. O'Reilly Media. pp. 389–412. ISBN 9781449395926.
  10. ^ "The Difference Between a Framework and a Library". freeCodeCamp.org. 2019-02-01. Retrieved 2022-03-15.
  11. ^ "What is the difference between Library vs Framework?". DEV Community. Retrieved 2022-03-15.
  12. ^ "A Clear Definition of npm and What it Does". CSS-Tricks. 2022-01-20. Retrieved 2022-03-15.
  13. ^ "Node.js NPM". www.w3schools.com. Retrieved 2022-03-15.
  14. ^ Grosselle, Alessandro (2019-11-12). "The JS library distribution dilemma, NPM or URL?". THRON tech blog. Retrieved 2022-03-15.