Underscore.js is a JavaScript utility-library created by Jeremy Ashkenas that provides a broad set of functions for working with arrays, objects, functions, and other data types — essentially a “utility belt” for functional programming in JS. Instead of extending built-in objects or modifying prototypes, Underscore provides its helpers in a single _ namespace, enabling cross-browser support and consistent behaviour across environments. It offers map/filter/reduce, deep-cloning, templating, object traversal, function binding, and more, which makes it easier to write concise, expressive code rather than verbose loops and conditional logic.