Get the first defined and non-null value

Return the first item that is neither null nor undefined.

JavaScript Version 1.0.0 · MIT · .md

get-the-first-defined-and-non-null-argument.js
function coalesce(values) { return values.find(item => item !== undefined && item !== null) ?? null; }

Input & expected output

Input

[
  null,
  "",
  "fallback"
]

Expected output

""

The edge case

Input

[
  null,
  null
]

Expected output

null

Know the limits

  • 0 and "" count as defined, as the example shows — unlike ||. The ?? operator does the same for two values.
  • The original took rest arguments; the lab passes one array.

The function above is the implementation used by the lab. The lab validates JSON types and caps size before execution; include equivalent validation when accepting untrusted input in your application.

Source & maintenance

Based on Get the first defined and non null argument from the original 1loc collection by Nguyen Huu Phuoc. Copyright (c) 2020 phuoc-ng. MIT licensed.

Takes one array instead of rest arguments; returns null when nothing qualifies. Original MDX retained as inert source evidence.

Maintained by Oveyon. Source commit: 14b481cf60df. Read the license.

Local fixture scope · Node.js 22.23.2 · reviewed October 28, 2026. No external service is required.

Keep exploring

Type two or more characters. Try “duplicate”, “webhook” or “retry”.