Skip to content

isOptionalNumber

Jason Godesky edited this page Aug 15, 2026 · 1 revision

isOptionalNumber is a type guard that lets Typescript know that the variable passed in is either a number or undefined.

Warning

isOptionalNumber returns false for NaN. Usually this is even more useful than a strict type check, but if you’re expecting isOptionalNumber to return true for NaN, this is an edge case to be aware of where we’ve optimized for how we write code for Revolutionary Games over what is strictly true to the language!

Parameters

candidate: unknown

Supply any variable to test if it’s either a number or undefined.

Returns

A type predicate for a number (candidate is number | undefined).

Examples

import { isOptionalNumber } from '@revolutionarygamesco/common'

isOptionalNumber(42) // true
isOptionalNumber(0) // true
isOptionalNumber(-1) // true
isOptionalNumber(Infinity) // true
isOptionalNumber(undefined) // true
isOptionalNumber(NaN) // false
isOptionalNumber('hello!') // false
isOptionalNumber('42') // false
isOptionalNumber({ a: 1 }) // false
isOptionalNumber([]) // false

Clone this wiki locally