Перейти к содержимому

Справочник API node:util

Форматирование, инспекция, функции обратного вызова, разбор аргументов и предикаты типов

На этой странице
Open in ChatGPTOpen in Claude

Распространённые функции, доступные в node:util:

  • format, formatWithOptions, inspect и stripVTControlCharacters;
  • promisify, callbackify, inherits, deprecate и debuglog;
  • isDeepStrictEqual, parseArgs, parseEnv и styleText;
  • getSystemErrorName, getSystemErrorMessage и getSystemErrorMap;
  • getCallSites;
  • глобальные конструкторы TextEncoder и TextDecoder.

toUSVString() и устаревшая функция log() присутствуют, но выбрасывают ошибку реализации.

Примеры

const util = require("node:util");

util.inspect({ a: [1, 2] }); // "{ a: [ 1, 2 ] }"
util.format("%s:%d", "port", 8080); // "port:8080"
util.isDeepStrictEqual({ a: 1 }, { a: 1 }); // true

inspect() обрабатывает распространённые контейнеры, типизированные массивы, буферы, функции, циклические ссылки, промисы и util.inspect.custom. Доступны параметры, включая depth, breakLength, compact и maxArrayLength.

promisify() учитывает util.promisify.custom.

util.types

Семейство предикатов охватывает распространённые массивы и представления, даты, Map, Set, ошибки, промисы, прокси, регулярные выражения, слабые коллекции, упакованные примитивы, виды функций, итераторы и специализации типизированных массивов. Присутствуют не все предикаты Node; проверяйте наличие более новых предикатов, таких как isCryptoKey, перед их вызовом.

См. также

Reference

Status: Partial · 9 of 18 suite tests pass (50.0%) · since 1.1.0

Exports

ExportKindStatusNotes
format()functionFullFormats a string using printf-style substitution patterns (%s, %d, %o, etc.)
formatWithOptions()functionFullLike format(), but accepts an explicit util.inspect options object for the first argument
inspect()functionFullReturns a string representation of an object for debugging
promisify()functionFullWraps a callback-based function so it returns a Promise
inherits()functionFullSets up prototype inheritance between a constructor and a superclass
isDeepStrictEqual()functionFullReturns true if two values are deeply equal using the strict equality algorithm
deprecate()functionFullWraps a function to emit a deprecation warning when called
debuglog()functionFullReturns a logging function that writes to stderr only if the NODE_DEBUG env variable includes section
callbackify()functionFullWraps an async function (or a function that returns a Promise) so it follows the error-first callback…
getSystemErrorName()functionFullReturns the string name for a numeric error code (the errno value)
getSystemErrorMessage()functionFullReturns the string message for a numeric error code (the errno value)
getSystemErrorMap()functionFullReturns a Map of all system error codes to [name, message] pairs
toUSVString()functionFullReturns a string after replacing any lone surrogates with the Unicode replacement character U+FFFD
stripVTControlCharacters()functionFullRemoves ANSI escape codes (including color and cursor movement) from a string
styleText()functionFullFormats text with ANSI styling for terminal output
getCallSites()functionFullReturns an array of call site objects representing the current call stack
parseEnv()functionFullParses a .env file content string into a key-value object
log()functionFullWrites a formatted timestamp + message to stdout (similar to console.log but with a timestamp)
typespropertyFullObject with type-checking predicates (e.g. util.types.isDate, util.types.isMap)
TextEncoderpropertyFullThe WHATWG TextEncoder class
TextDecoderpropertyFullThe WHATWG TextDecoder class

Not implemented

convertProcessSignalToExitCode, debug, diff, isArray, setTraceSigInt, transferableAbortController, transferableAbortSignal.

Tests: node-api node:util: 9 pass, 8 fail, 1 error, 12 skipped. Failing: test-util-callbackify.js, test-util-format.js, test-util-getcallsites-preparestacktrace.js, test-util-getcallsites-sourcemap.js, test-util-inspect-getters-accessing-this.js, test-util-inspect-long-running.js, test-util-inspect-namespace.js, test-util-inspect-regexp.js, and 1 more.

Была ли эта страница полезной?