Skip to content

Type Helpers

Utility functions for working with type operations.

FunctionDescription
isArrayChecks if a value is an array.
isArrayBufferChecks if a value is an ArrayBuffer instance.
isAsyncFunctionChecks if a value is an async function.
isBigIntChecks if a value is a bigint.
isBlobChecks if a value is a Blob instance.
isBooleanChecks if a value is a boolean.
isBufferChecks if a value is a Node.js Buffer instance.
isDateChecks if a value is a Date instance.
isDefinedChecks if a value is defined (not undefined nor null).
isDirectInstanceOfnative JS value.constructor === Foo (ES1)
isEmptyChecks if a value is empty.
isErrorChecks if a value is an Error instance.
isFalsyChecks if a value is falsy (false, null, undefined, 0, "", NaN).
isFinite / isFiniteNumbernative JS Number.isFinite(value) (ES2015)
isFormDataChecks if a value is a FormData instance.
isFunctionChecks if a value is a function.
isHtmlElement / isUrlInstance / isUrlSearchParamsnative JS value instanceof HTMLElement / URL / URLSearchParams (Web API)
isIntegernative JS Number.isInteger(value) (ES2015)
isIterableChecks if a value is iterable (has a Symbol.iterator method).
isMapChecks if a value is a Map instance.
isNaNnative JS Number.isNaN(value) (ES2015)
isNegativeNumberChecks if a value is a number less than 0.
isNonEmptyArrayChecks if a value is a non-empty array (length > 0).
isNonEmptyStringChecks if a value is a non-empty string (length > 0).
isNullChecks if a value is null.
isNullishChecks if a value is null or undefined (nullish).
isNumberChecks if a value is a number.
isPlainObjectChecks if a value is a plain object.
isPositiveNumberChecks if a value is a number greater than 0.
isPrimitiveChecks if a value is a JavaScript primitive.
isPromiseChecks if a value is a Promise or a thenable.
isRegExpChecks if a value is a RegExp instance.
isSafeIntegernative JS Number.isSafeInteger(value) (ES2015)
isSet (Set data structure)native JS value instanceof Set (ES2015)
isSpecialObjectDetermines if a value is a special object that should not have its properties compared deeply.
isStringChecks if a value is a string.
isSymbolChecks if a value is a symbol.
isTemporalDurationChecks if a value is a Temporal.Duration.
isTemporalInstantChecks if a value is a Temporal.Instant.
isTemporalPlainDateChecks if a value is a Temporal.PlainDate.
isTemporalPlainDateTimeChecks if a value is a Temporal.PlainDateTime.
isTemporalPlainTimeChecks if a value is a Temporal.PlainTime.
isTemporalZonedDateTimeChecks if a value is a Temporal.ZonedDateTime.
isTimestampChecks if a value is a valid timestamp (milliseconds or Unix seconds).
isTruthyChecks if a value is truthy (not false, null, undefined, 0, "", or NaN).
isUndefinedChecks if a value is undefined.
isValidDateChecks if a value is a valid Date instance (not Invalid Date).
isValidRegexChecks if a string is a valid regex pattern.
isWeakMap / isWeakSet / isWeakRefnative JS value instanceof WeakMap / WeakSet / WeakRef (ES2015 / ES2021)
TypedArrays (isInt8Array, isFloat32Array, ...)native JS value instanceof Int8Array / Float32Array / ... (ES2015)