util.types

A collection of type-check predicates for built-in JavaScript and Node values.

Since Node 10 Spec ↗

Syntax

util.types.isX(value)

Parameters

NameTypeRequiredDescription
value any Yes The value passed to a specific predicate such as `isPromise`, `isDate`, or `isTypedArray`.

Returns

boolean — true if the value matches the checked type.

Examples

import { types } from 'node:util';

console.log(types.isPromise(Promise.resolve()));
console.log(types.isDate(new Date()));
Output
true
true
import { types } from 'node:util';

console.log(types.isAsyncFunction(async () => {}));
console.log(types.isNativeError(new TypeError()));
Output
true
true

Notes

More reliable than `instanceof` across realms/contexts (e.g. values from `vm` or worker threads). Useful when introspecting unknown values in libraries.

See also