Underscore.js is a utility-belt JavaScript library that provides functions for manipulating arrays and objects without extending built-in prototypes. It contains over 60 built-in functions for tasks like iterating, mapping, filtering, and reducing collections of data. Underscore.js aims to work consistently across all JavaScript environments without dependencies on other libraries.