Underscore.js is a JavaScript utility library that provides support for functional programming without extending built-in JavaScript objects. It includes over 60 functions for working with arrays, objects, functions and more. Some key functions include map, reduce, find, and bind for working with collections and functions. Underscore is open source and part of the DocumentCloud project.