# jashkenas/underscore

JavaScript's utility _ belt

Repository: https://github.com/jashkenas/underscore
Canonical: https://ross.abutalabs.com/products/underscore
Homepage: https://underscorejs.org
Language: JavaScript
License: MIT
License Family: permissive
Last push: 2026-08-12T13:38:20+00:00

## Health v2 (maintenance only)
Score: 76/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 97, release rhythm 35, longevity 100
- inputs: {"age_days": 6156, "days_push": 21, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: no_releases
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 27329, forks 5426 (observed 2026-08-28T04:11:47.662230+00:00)

## What it is
Underscore.js is a JavaScript utility-belt library offering over 100 functional programming helpers (map, filter, reduce, debounce, etc.) without extending built-in objects. It is a mature, widely-used dependency historically tied to Backbone.js and jQuery-era development.

## Use cases
- use functional helpers like map, filter, and reduce in JavaScript
- debounce or throttle event handlers in the browser
- group, sort, and index collections of objects
- deep-compare and clone objects in JavaScript
- support legacy browsers lacking modern array methods
- maintain a Backbone.js or older jQuery codebase

## When to choose
- you need battle-tested functional utilities with broad legacy browser support
- you maintain an existing codebase already depending on Underscore or Backbone
- you want a tiny, dependency-free utility library with stable APIs

## When to avoid
- you are starting a modern project where native ES6+ array/object methods suffice
- you need lazy evaluation or a rich collection API, where Lodash is a better fit
- you want a library under very active development

## Facets
- artifact type: library
- maturity: maintenance
- function: developer-tools
- domain: web-development, frontend, developer-tools
- platform: browser, cross-platform
- tags: functional-programming, utility-belt, javascript, collections, chaining, backbone-dependency, algorithms, nodejs

## Member repositories
- jashkenas/underscore (main) score 76

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:11:47.662230+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-29T16:54:33.260306+00:00, confidence not recorded.
  - readme: https://github.com/jashkenas/underscore (fetched 2026-08-28T04:11:47.662230+00:00, sha 3ab10c9d25a1)
  - homepage: https://underscorejs.org (fetched 2026-08-29T07:52:06.166151+00:00, sha e2757bf8dc28)
  - site_page: https://underscorejs.org/docs/modules/index-all.html (fetched 2026-08-29T07:52:06.178651+00:00, sha 90e60f33da43)
  - site_page: https://underscorejs.org/docs/underscore-esm.html (fetched 2026-08-29T07:52:06.181637+00:00, sha afda616f8c36)
  - site_page: https://underscorejs.org/docs/modules/each.html (fetched 2026-08-29T07:52:06.186791+00:00, sha cc55ba76dae1)
  - site_page: https://underscorejs.org/docs/modules/map.html (fetched 2026-08-29T07:52:06.189354+00:00, sha da9d437053da)
  - site_page: https://underscorejs.org/docs/modules/reduce.html (fetched 2026-08-29T07:52:06.191608+00:00, sha e85b3e45b6dd)
  - site_page: https://underscorejs.org/docs/modules/reduceRight.html (fetched 2026-08-29T07:52:06.193895+00:00, sha a699933f4f01)
  - site_page: https://underscorejs.org/docs/modules/find.html (fetched 2026-08-29T07:52:06.197042+00:00, sha 3aa511f4d5c8)
  - site_page: https://underscorejs.org/docs/modules/filter.html (fetched 2026-08-29T07:52:06.199542+00:00, sha 890f3ddbc4d1)
- Data as of 2026-08-30T08:39:29.467469+00:00.
