Утилиты¶
Стабильность: 2 – Стабильная
АПИ является удовлетворительным. Совместимость с NPM имеет высший приоритет и не будет нарушена кроме случаев явной необходимости.
Модуль node:util
поддерживает потребности внутренних API Node.js. Многие из утилит полезны и для разработчиков приложений и модулей. Чтобы получить к нему доступ:
1 |
|
util.callbackify(original)
¶
original
<Function>
Функцияasync
.- Возвращает:
<Function>
функцию в стиле обратного вызова
Принимает функцию async
(или функцию, возвращающую Promise
) и возвращает функцию в стиле обратного вызова по ошибке, т.е. принимая в качестве последнего аргумента обратный вызов (err, value) => ...
. В обратном вызове первым аргументом будет причина отказа (или null
, если Promise
разрешилась), а вторым аргументом будет разрешенное значение.
1 2 3 4 5 6 7 8 9 10 11 |
|
Будет печататься:
1 |
|
Обратный вызов выполняется асинхронно и имеет ограниченный стек-трейс. Если обратный вызов отбрасывается, процесс выдает событие 'uncaughtException'
, и, если оно не обработано, завершается.
Поскольку null
имеет особое значение в качестве первого аргумента обратного вызова, если обернутая функция отклоняет Promise
с ложным значением в качестве причины, значение обертывается в Error
с сохранением исходного значения в поле с именем reason
.
1 2 3 4 5 6 7 8 9 10 11 12 |
|
util.debuglog(section[, callback])
.¶
section
<string>
Строка, идентифицирующая часть приложения, для которой создается функцияdebuglog
.callback
<Function>
Обратный вызов, вызываемый при первом вызове функции логирования с аргументом функции, который является более оптимизированной функцией логирования.- Возвращает:
<Function>
Функция протоколирования.
Метод util.debuglog()
используется для создания функции, которая условно записывает отладочные сообщения в stderr
на основе существования переменной окружения NODE_DEBUG
. Если имя section
встречается в значении этой переменной окружения, то возвращаемая функция работает аналогично console.error()
. Если нет, то возвращаемая функция не работает.
1 2 3 4 |
|
Если эту программу запустить с NODE_DEBUG=foo
в окружении, то она выдаст что-то вроде:
1 |
|
где 3245
- идентификатор процесса. Если программа не запущена с установленной переменной окружения, то она ничего не выведет.
Секция section
также поддерживает подстановочный знак:
1 2 3 4 |
|
если его запустить с NODE_DEBUG=foo*
в окружении, то он выдаст что-то вроде:
1 |
|
В переменной окружения NODE_DEBUG
можно указать несколько имен section
, разделенных запятыми: NODE_DEBUG=fs,net,tls
.
Необязательный аргумент callback
может быть использован для замены функции протоколирования другой функцией, не имеющей инициализации или ненужной обертки.
1 2 3 4 5 6 |
|
debuglog().enabled
¶
Геттер util.debuglog().enabled
используется для создания теста, который может быть использован в условиях, основанных на существовании переменной окружения NODE_DEBUG
. Если имя section
встречается в значении этой переменной окружения, то возвращаемое значение будет true
. Если нет, то возвращаемое значение будет false
.
1 2 3 4 5 |
|
Если эту программу запустить с NODE_DEBUG=foo
в окружении, то она выдаст что-то вроде:
1 |
|
util.debug(section)
.¶
Псевдоним для util.debuglog
. Использование позволяет читать то, что не подразумевает ведение журнала при использовании только util.debuglog().enabled
.
util.deprecate(fn, msg[, code])
.¶
fn
<Function>
Функция, которая устаревает.msg
<string>
Предупреждающее сообщение, которое будет отображаться при вызове устаревшей функции.code
<string>
Код устаревания.- Возвращает:
<Function>
Устаревшая функция, обернутая для выдачи предупреждения.
Метод util.deprecate()
оборачивает fn
(которая может быть функцией или классом) таким образом, что она помечается как устаревшая.
1 2 3 4 5 |
|
При вызове util.deprecate()
возвращает функцию, которая выдает DeprecationWarning
, используя событие 'warning'
. Предупреждение будет выдано и выведено в stderr
при первом вызове возвращаемой функции. После того, как предупреждение будет выдано, обернутая функция будет вызвана без выдачи предупреждения.
Если в нескольких вызовах util.deprecate()
указан один и тот же необязательный code
, предупреждение будет выдано только один раз для этого code
.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
Если используются флаги командной строки --no-deprecation
или --no-warnings
, или если свойство process.noDeprecation
установлено в true
до первого предупреждения об износе, метод util.deprecate()
ничего не делает.
Если установлены флаги командной строки --trace-deprecation
или --trace-warnings
, или свойство process.traceDeprecation
установлено в true
, предупреждение и трассировка стека печатаются в stderr
при первом вызове обесценивающейся функции.
Если установлен флаг командной строки --throw-deprecation
или свойство process.throwDeprecation
установлено в true
, то при вызове устаревшей функции будет вызвано исключение.
Флаг командной строки --throw-deprecation
и свойство process.throwDeprecation
имеют приоритет над --trace-deprecation
и process.traceDeprecation
.
util.format(format[, ...args])
¶
format
<string>
Строка формата, подобнаяprintf
.
Метод util.format()
возвращает отформатированную строку, используя первый аргумент как printf
-подобную строку формата, которая может содержать ноль или более спецификаторов формата. Каждый спецификатор заменяется преобразованным значением соответствующего аргумента. Поддерживаются следующие спецификаторы:
%s
:String
будет использоваться для преобразования всех значений, кромеBigInt
,Object
и-0
. ЗначенияBigInt
будут представлены символомn
, а Объекты, не имеющие определенной пользователем функцииtoString
, проверяются с помощьюutil.inspect()
с опциями{ depth: 0, colors: false, compact: 3 }
.%d
:Number
будет использоваться для преобразования всех значений, кромеBigInt
иSymbol
.%i
:parseInt(value, 10)
используется для всех значений, кромеBigInt
иSymbol
.%f
:parseFloat(value)
используется для всех значений, кромеSymbol
.%j
: JSON. Заменяется строкой'[Circular]'
, если аргумент содержит круговые ссылки.%o
:Object
. Строковое представление объекта с общим форматированием объектов JavaScript. Аналогичноutil.inspect()
с опциями{ showHidden: true, showProxy: true }
. Это покажет полный объект, включая неперечисляемые свойства и прокси.%O
:Object
. Строковое представление объекта с общим форматированием объекта JavaScript. Аналогичноutil.inspect()
без опций. Будет показан полный объект, не включая неперечисляемые свойства и прокси.%c
:CSS
. Этот спецификатор игнорируется и пропускает все переданные CSS.%%
: одиночный знак процента ('%'
). Аргумент не используется.- Возвращает:
<string>
форматированная строка.
Если спецификатор не имеет соответствующего аргумента, он не заменяется:
1 2 |
|
Значения, не являющиеся частью строки формата, форматируются с помощью util.inspect()
, если их тип не string
.
Если в метод util.format()
передано больше аргументов, чем количество спецификаторов, дополнительные аргументы конкатенируются в возвращаемую строку, разделяясь пробелами:
1 2 |
|
Если первый аргумент не содержит допустимого спецификатора формата, util.format()
возвращает строку, которая является конкатенацией всех аргументов, разделенных пробелами:
1 2 |
|
Если в util.format()
передан только один аргумент, он возвращается в исходном виде без какого-либо форматирования:
1 2 |
|
util.format()
- это синхронный метод, который предназначен для отладки. Некоторые входные значения могут иметь значительный перерасход производительности, который может заблокировать цикл событий. Используйте эту функцию с осторожностью и никогда в горячем пути кода.
util.formatWithOptions(inspectOptions, format[, ...args])
.¶
Эта функция идентична util.format()
, за исключением того, что она принимает аргумент inspectOptions
, который определяет опции, передаваемые util.inspect()
.
1 2 3 4 5 |
|
util.getSystemErrorName(err)
¶
Возвращает строковое имя для числового кода ошибки, который поступает из API Node.js. Сопоставление между кодами ошибок и именами ошибок зависит от платформы. Имена распространенных ошибок см. в Common System Errors.
1 2 3 4 |
|
util.getSystemErrorMap()
.¶
- Возвращает: {Map}
Возвращает карту всех кодов системных ошибок, доступных из API Node.js. Сопоставление между кодами ошибок и именами ошибок зависит от платформы. Имена распространенных ошибок см. в Common System Errors.
1 2 3 4 5 |
|
util.inherits(constructor, superConstructor)
¶
Стабильность: 3 – Закрыто
Наследие: Используйте синтаксис классов ES2015 и ключевое слово extends
вместо этого.
constructor
<Function>
superConstructor
<Function>
Использование util.inherits()
не рекомендуется. Пожалуйста, используйте ключевые слова ES6 class
и extends
, чтобы получить поддержку наследования на уровне языка. Также обратите внимание, что эти два стиля семантически несовместимы.
Наследуйте методы прототипа из одного конструктора в другой. Прототип constructor
будет установлен на новый объект, созданный из superConstructor
.
Это в основном добавляет некоторую проверку ввода поверх Object.setPrototypeOf(constructor.prototype, superConstructor.prototype)
. В качестве дополнительного удобства, superConstructor
будет доступен через свойство constructor.super_
.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
|
Пример ES6 с использованием class
и extends
:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
util.inspect(object[, options])
¶
util.inspect(object[, showHidden[, depth[, colors]]])
.¶
object
<any>
Любой примитив JavaScript илиObject
.options
<Object>
showHidden
<boolean>
Еслиtrue
, то неперечисляемые символы и свойстваобъекта
будут включены в отформатированный результат. Также включаются записиWeakMap
иWeakSet
, а также определяемые пользователем свойства прототипа (за исключением свойств метода). По умолчанию:false
.depth
<number>
Определяет количество раз для перебора при форматированииобъекта
. Это полезно для проверки больших объектов. Для вызова до максимального размера стека вызовов передайтеInfinity
илиnull
. По умолчанию:2
.colors
<boolean>
Еслиtrue
, вывод будет оформлен с использованием цветовых кодов ANSI. Цвета можно настраивать. Смотрите Настройка цветовutil.inspect
. По умолчанию:false
.customInspect
<boolean>
. Еслиfalse
, то функции[util.inspect.custom](depth, opts, inspect)
не вызываются. По умолчанию:true
.showProxy
<boolean>
Еслиtrue
, то проверкаProxy
включает объектыtarget
иhandler
. По умолчанию:false
.maxArrayLength
<integer>
Определяет максимальное количество элементовArray
,TypedArray
,Map
,Set
,WeakMap
иWeakSet
, которые следует включать при форматировании. Установите значениеnull
илиInfinity
, чтобы показать все элементы. Установите значение0
или отрицательное, чтобы не показывать никаких элементов. По умолчанию:100
.maxStringLength
<integer>
Определяет максимальное количество символов для включения при форматировании. Установите значениеnull
илибесконечность
, чтобы показать все элементы. Установите0
или отрицательное значение, чтобы не показывать никаких символов. По умолчанию:10000
.breakLength
<integer>
Длина, при которой вводимые значения разбиваются на несколько строк. Установите значениеInfinity
для форматирования ввода в виде одной строки (в сочетании сcompact
, установленным вtrue
или любым числом >=1
). По умолчанию:80
.compact
{boolean|integer} Установка этого параметра вfalse
приводит к тому, что каждый ключ объекта будет отображаться на новой строке. Текст, длина которого превышаетbreakLength
, будет обрываться на новых строках. Если задано число, то наиболееn
внутренних элементов объединяются на одной строке, пока все свойства помещаются вbreakLength
. Короткие элементы массива также группируются вместе. F
1 2 3 |
|
- Возвращает:
<string>
Представлениеобъекта
.
Метод util.inspect()
возвращает строковое представление объекта
, предназначенное для отладки. Вывод util.inspect
может измениться в любой момент и не должен зависеть от него программно. Могут быть переданы дополнительные опции
, которые изменяют результат. util.inspect()
будет использовать имя конструктора и/или @@toStringTag
для создания идентифицируемой метки для проверяемого значения.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
|
Циркулярные ссылки указывают на свой якорь с помощью ссылочного индекса:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
В следующем примере проверяются все свойства объекта util
:
1 2 3 4 5 |
|
В следующем примере показан эффект опции compact
:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 |
|
Опция showHidden
позволяет просматривать записи WeakMap
и WeakSet
. Если записей больше, чем maxArrayLength
, то нет гарантии, какие записи будут отображены. Это означает, что получение одних и тех же записей WeakSet
дважды может привести к разным результатам. Более того, записи, в которых не осталось сильных ссылок, могут быть собраны в мусор в любое время.
1 2 3 4 5 6 7 8 |
|
Опция sorted гарантирует, что порядок вставки свойств объекта не повлияет на результат работы
util.inspect()`.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
|
Опция numericSeparator
добавляет ко всем числам подчеркивание через каждые три цифры.
1 2 3 4 5 6 7 8 9 |
|
util.inspect()
- это синхронный метод, предназначенный для отладки. Его максимальная длина выходных данных составляет приблизительно 128 МиБ. Вводы, которые приводят к более длинному выводу, будут усечены.
Настройка цветов util.inspect
.¶
Вывод цвета (если он включен) в util.inspect
настраивается глобально через свойства util.inspect.styles
и util.inspect.colors
.
util.inspect.styles
- это карта, связывающая имя стиля с цветом из util.inspect.colors
.
По умолчанию используются следующие стили и связанные с ними цвета:
bigint
:yellow
.булево
:желтый
дата
:маджента
.модуль
:андерлайн
имя
: (без стилизации)null
:жирный
число
:желтый
regexp
:red
специальный
:синий
(например,Proxies
)строка
:зеленый
символ
:зеленый
неопределенный
:серый
Цветовая стилизация использует управляющие коды ANSI, которые могут поддерживаться не на всех терминалах. Для проверки поддержки цветов используйте tty.hasColors()
.
Ниже перечислены предопределенные управляющие коды (сгруппированные как "Модификаторы", "Цвета переднего плана" и "Цвета заднего плана").
Модификаторы¶
Modifier support varies throughout different terminals. They will mostly be ignored, if not supported.
reset
- Resets all (color) modifiers to their defaults- bold - Make text bold
- italic - Make text italic
- underline - Make text underlined
strikethrough- Puts a horizontal line through the center of the text (Alias:strikeThrough
,crossedout
,crossedOut
)hidden
- Prints the text, but makes it invisible (Alias: conceal)- dim - Decreased color intensity (Alias:
faint
) - overlined - Make text overlined
- blink - Hides and shows the text in an interval
- inverse - Swap foreground and background colors (Alias:
swapcolors
,swapColors
) - doubleunderline - Make text double underlined (Alias:
doubleUnderline
) - framed - Draw a frame around the text
Цвета переднего плана¶
черный
красный
- зелёный
жёлтый
синий
- маджента
- циан
белый
серый
(псевдонимы:grey
,blackBright
)redBright
зеленый
желто-светлый
blueBright
magentaBright
cyanBright
белый
Фоновые цвета¶
bgBlack
bgRed
bgGreen
bgYellow
bgBlue
bgMagenta
bgCyan
bgWhite
bgGray
(псевдонимы:bgGrey
,bgBlackBright
)bgRedBright
bgGreenBright
bgYellowBright
bgBlueBright
bgMagentaBright
bgCyanBright
bgWhiteBright
Пользовательские функции проверки объектов¶
Объекты могут также определять свои собственные [util.inspect.custom](depth, opts, inspect)
функции, которые util.inspect()
будет вызывать и использовать результат при инспектировании объекта.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
|
Пользовательские функции [util.inspect.custom](depth, opts, inspect)
обычно возвращают строку, но могут возвращать значение любого типа, которое будет соответствующим образом отформатировано util.inspect()
.
1 2 3 4 5 6 7 8 9 10 11 |
|
util.inspect.custom
¶
- {символ}, который можно использовать для объявления пользовательских функций inspect.
Помимо того, что этот символ доступен через util.inspect.custom
, он зарегистрирован глобально и может быть доступен в любой среде как Symbol.for('nodejs.util.inspect.custom')
.
Использование этого позволяет писать переносимый код, так что пользовательская функция inspect используется в среде Node.js и игнорируется в браузере. Сама функция util.inspect()
передается в качестве третьего аргумента в пользовательскую функцию inspect, чтобы обеспечить дальнейшую переносимость.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
|
Более подробную информацию смотрите в разделе Пользовательские функции проверки объектов.
util.inspect.defaultOptions
.¶
Значение defaultOptions
позволяет настраивать параметры по умолчанию, используемые util.inspect
. Это полезно для таких функций, как console.log
или util.format
, которые неявно вызывают util.inspect
. Он должен быть установлен в объект, содержащий одну или несколько допустимых опций util.inspect()
. Также поддерживается непосредственная установка свойств опций.
1 2 3 4 5 6 |
|
util.isDeepStrictEqual(val1, val2)
¶
Возвращает true
, если существует глубокое строгое равенство между val1
и val2
. В противном случае возвращается false
.
Дополнительную информацию о глубоком строгом равенстве смотрите в assert.deepStrictEqual()
.
Класс: util.MIMEType
¶
Стабильность: 1 – Экспериментальная
Экспериментальная
Реализация класса MIMEType.
В соответствии с соглашениями браузера, все свойства объектов MIMEType
реализованы как геттеры и сеттеры прототипа класса, а не как свойства данных самого объекта.
MIME-строка - это структурированная строка, содержащая несколько значимых компонентов. При разборе возвращается объект MIMEType
, содержащий свойства для каждого из этих компонентов.
Конструктор: new MIMEType(input)
¶
input
<string>
Входной MIME для разбора
Создает новый объект MIMEType
путем разбора input
.
1 2 3 |
|
1 2 3 |
|
Если вход
не является допустимым MIME, будет выдана ошибка TypeError
. Обратите внимание, что будет предпринята попытка преобразовать заданные значения в строки. Например:
1 2 3 4 5 6 |
|
1 2 3 4 5 6 |
|
mime.type
¶
Получает и устанавливает часть типа MIME.
1 2 3 4 5 6 7 8 9 10 |
|
1 2 3 4 5 6 7 8 9 10 |
|
mime.subtype
¶
Получает и устанавливает часть подтипа MIME.
1 2 3 4 5 6 7 8 9 10 |
|
1 2 3 4 5 6 7 8 9 10 |
|
mime.essence
¶
Получает сущность MIME. Это свойство доступно только для чтения. Используйте mime.type
или mime.subtype
для изменения MIME.
1 2 3 4 5 6 7 8 9 10 |
|
1 2 3 4 5 6 7 8 9 10 |
|
mime.params
¶
- {MIMEParams}
Получает объект MIMEParams
, представляющий параметры MIME. Это свойство доступно только для чтения. Подробности см. в документации MIMEParams
.
mime.toString()
.¶
- Возвращает:
<string>
Метод toString()
объекта MIMEType
возвращает сериализованный MIME.
Из-за необходимости соответствия стандарту этот метод не позволяет пользователям настраивать процесс сериализации MIME.
mime.toJSON()
.¶
- Возвращает:
<string>
.
Псевдоним для mime.toString()
.
Этот метод автоматически вызывается, когда объект MIMEType
сериализуется с помощью JSON.stringify()
.
1 2 3 4 5 6 7 8 |
|
1 2 3 4 5 6 7 8 |
|
Класс: util.MIMEParams
.¶
API MIMEParams
предоставляет доступ на чтение и запись к параметрам MIMEType
.
Конструктор: new MIMEParams()
.¶
Создает новый объект MIMEParams
с пустыми параметрами
1 2 3 |
|
1 2 3 |
|
mimeParams.delete(name)
.¶
name
<string>
Удаляет все пары имя-значение, имя которых равно name
.
mimeParams.entries()
.¶
- Возвращает: {Iterator}
Возвращает итератор по каждой из пар "имя-значение" в параметрах. Каждый элемент итератора представляет собой JavaScript массив
. Первый элемент массива - это имя
, второй элемент массива - значение
.
mimeParams.get(name)
.¶
Возвращает значение первой пары имя-значение, имя которой равно name
. Если таких пар нет, возвращается null
.
mimeParams.has(name)
.¶
Возвращает true
, если существует хотя бы одна пара имя-значение, имя которой равно name
.
mimeParams.keys()
.¶
- Возвращает:
<Iterator>
Возвращает итератор по именам каждой пары имя-значение.
1 2 3 4 5 6 7 8 9 |
|
1 2 3 4 5 6 7 8 9 |
|
mimeParams.set(name, value)
.¶
Устанавливает значение в объекте MIMEParams
, связанном с name
, в value
. Если существуют уже существующие пары имя-значение, имена которых равны name
, установите значение первой такой пары в value
.
1 2 3 4 5 6 7 |
|
1 2 3 4 5 6 7 |
|
mimeParams.values()
.¶
- Возвращает:
<Iterator>
Возвращает итератор по значениям каждой пары имя-значение.
mimeParams[@@iterator]()
.¶
- Возвращает:
<Iterator>
Псевдоним для mimeParams.entries()
.
1 2 3 4 5 6 7 8 9 10 11 |
|
1 2 3 4 5 6 7 8 9 10 11 |
|
util.parseArgs([config])
¶
config
<Object>
Используется для предоставления аргументов для разбора и для настройки парсера.config
поддерживает следующие свойства:args
<string[]>
массив строк аргументов. По умолчанию:process.argv
с удаленнымиexecPath
иfilename
.options
<Object>
Используется для описания аргументов, известных синтаксическому анализатору. Ключамиoptions
являются длинные имена опций, а значениями -<Object>
, принимающие следующие свойства:type
<string>
Тип аргумента, который должен быть либоboolean
, либоstring
.multiple
<boolean>
Может ли этот параметр быть указан несколько раз. Еслиtrue
, все значения будут собраны в массив. Еслиfalse
, то значения для опции будут последними. По умолчанию:false
.short
<string>
Односимвольный псевдоним для опции.default
{string | boolean | string[] | boolean[]} Значение опции по умолчанию, если оно не задано args. Оно должно быть того же типа, что и свойствоtype
. Еслиmultiple
имеет значениеtrue
, это должен быть массив.
strict
<boolean>
Должна ли возникать ошибка при встрече неизвестных аргументов или при передаче аргументов, не соответствующихтипу
, заданному вoptions
. По умолчанию:true
.allowPositionals
<boolean>
Принимает ли эта команда позиционные аргументы. По умолчанию:false
, еслиstrict
равноtrue
, иначеtrue
.tokens
<boolean>
Возвращает разобранные лексемы. Это полезно для расширения встроенного поведения, от добавления дополнительных проверок до переработки токенов различными способами. По умолчанию:false
.
- Возвращает:
<Object>
Разобранные аргументы командной строки:values
<Object>
Отображение разобранных имен опций с их значениями<string>
или<boolean>
.positionals
<string[]>
Позиционные аргументы.токены
{Object[] | undefined} См. раздел parseArgs tokens. Возвращается только еслиconfig
включаетtokens: true
.
Предоставляет API более высокого уровня для разбора аргументов командной строки, чем непосредственное взаимодействие с process.argv
. Принимает спецификацию ожидаемых аргументов и возвращает структурированный объект с разобранными опциями и позициями.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
|
parseArgs
tokens
.¶
Детальная информация о разборе доступна для добавления пользовательского поведения, если указать tokens: true
в конфигурации. Возвращаемые токены имеют свойства, описывающие:
- все токены
- токены опций
- позиционные маркеры
value
<string>
Значение позиционного аргумента в args (т.е.args[index]
).
- опция-терминатор токена
Возвращаемые лексемы располагаются в том порядке, в котором они встречаются во входных args. Опции, которые встречаются в args более одного раза, выдают маркер для каждого использования. Короткие группы опций, такие как -xy
, расширяются до маркера для каждой опции. Таким образом, -xxx
дает три токена.
Например, чтобы использовать возвращенные маркеры для добавления поддержки отрицаемой опции, такой как --no-color
, маркеры могут быть обработаны для изменения значения, хранящегося для отрицаемой опции.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
|
Пример использования, показывающий отрицаемые варианты, и когда вариант используется несколькими способами, выигрывает последний.
1 2 3 4 5 6 7 8 |
|
util.promisify(original)
¶
original
<Function>
- Возвращает:
<Function>
Принимает функцию, следуя общему стилю обратного вызова по ошибке, т.е. принимая (err, value) => ...
обратный вызов в качестве последнего аргумента, и возвращает версию, которая возвращает обещания.
1 2 3 4 5 6 7 8 9 10 11 |
|
Или, эквивалентно, используя async function
:
1 2 3 4 5 6 7 8 9 |
|
Если присутствует свойство original[util.promisify.custom]
, promisify
вернет его значение, см. Custom promisified functions.
promisify()
предполагает, что original
- это функция, принимающая обратный вызов в качестве последнего аргумента во всех случаях. Если original
не является функцией, promisify()
выдаст ошибку. Если original
является функцией, но ее последний аргумент не является обратным вызовом с ошибкой, то в качестве последнего аргумента ей будет передан обратный вызов с ошибкой.
Использование promisify()
в методах класса или других методах, использующих this
, может работать не так, как ожидается, если только это не будет обработано специальным образом:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
|
Пользовательские промисифицированные функции¶
Используя символ util.promisify.custom
, можно переопределить возвращаемое значение функции util.promisify()
:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
|
Это может быть полезно в тех случаях, когда исходная функция не соответствует стандартному формату принятия обратного вызова, связанного с ошибкой, в качестве последнего аргумента.
Например, с функцией, принимающей (foo, onSuccessCallback, onErrorCallback)
:
1 2 3 4 5 |
|
Если promisify.custom
определена, но не является функцией, promisify()
выдаст ошибку.
util.promisify.custom
¶
- {символ}, который можно использовать для объявления пользовательских промисифицированных вариантов функций, см. Пользовательские промисифицированные функции.
Помимо того, что этот символ доступен через util.promisify.custom
, он зарегистрирован глобально и может быть доступен в любом окружении как Symbol.for('nodejs.util.promisify.custom')
.
Например, с функцией, которая принимает (foo, onSuccessCallback, onErrorCallback)
:
1 2 3 4 5 6 7 8 9 |
|
util.stripVTControlCharacters(str)
¶
Возвращает str
с удаленными кодами ANSI.
1 2 3 4 |
|
Класс: util.TextDecoder
.¶
Реализация API TextDecoder
WHATWG Encoding Standard.
1 2 3 |
|
Поддерживаемые кодировки WHATWG¶
Согласно WHATWG Encoding Standard, кодировки, поддерживаемые API TextDecoder
, приведены в таблицах ниже. Для каждой кодировки может использоваться один или несколько псевдонимов.
Различные конфигурации сборки Node.js поддерживают разные наборы кодировок. (см. Интернационализация)
Кодировки, поддерживаемые по умолчанию (с полными данными ICU)¶
Кодировка | Псевдонимы |
---|---|
'ibm866' |
'866' , 'cp866' , 'csibm866' |
'iso-8859-2' |
'csisolatin2' , 'iso-ir-101' , 'iso8859-2' , 'iso88592' , 'iso_8859-2' , 'iso_8859-2:1987' , 'l2' , 'latin2' |
'iso-8859-3' |
'csisolatin3' , 'iso-ir-109' , 'iso8859-3' , 'iso88593' , 'iso_8859-3' , 'iso_8859-3:1988' , 'l3' , 'latin3' |
'iso-8859-4' |
'csisolatin4' , 'iso-ir-110' , 'iso8859-4' , 'iso88594' , 'iso_8859-4' , 'iso_8859-4:1988' , 'l4' , 'latin4' |
'iso-8859-5' |
'csisolatincyrillic' , 'cyrillic' , 'iso-ir-144' , 'iso8859-5' , 'iso88595' , 'iso_8859-5' , 'iso_8859-5:1988' |
iso-8859-6'` | arabic', ``asmo-708' , csiso88596e' `, csiso88596i', ``csisolatinarabic' , ecma-114' `, `iso-8859-6-e`, `iso-8859-6-i`, `iso-ir-127`, `iso8859-6`, `iso88596`, `iso_8859-6`, `iso_8859-6`, iso_8859-6: 1987'` |
|
'iso-8859-7' |
'csisolatingreek' , 'ecma-118' , 'elot_928' , 'greek' , 'greek8' , 'iso-ir-126' , 'iso8859-7' , 'iso88597' , 'iso_8859-7' , 'iso_8859-7:1987' , 'sun_eu_greek' |
'iso-8859-8' |
'csiso88598e' , 'csisolatinhebrew' , 'hebrew' , 'iso-8859-8-e' , 'iso-ir-138' , 'iso8859-8' , 'iso88598' , 'iso_8859-8' , 'iso_8859-8' , 'iso_8859-8:1988' , 'visual' |
iso-8859-8-i'` | csiso88598i', ``логический' |
| 'iso-8859-10'
| 'csisolatin6'
, 'iso-ir-157'
, 'iso8859-10'
, 'iso885910'
, 'l6'
, 'latin6'
| | | 'iso-8859-13'
| 'iso8859-13'
, 'iso885913'
| | | 'iso-8859-14'
| 'iso8859-14'
, 'iso885914'
| | | 'iso-8859-15'
| 'csisolatin9'
, 'iso8859-15'
, 'iso885915'
, 'iso_8859-15'
, 'l9'
| | 'koi8-r'
| 'cskoi8r'
, 'koi'
, 'koi8'
, 'koi8_r'
| | 'koi8-u'
| 'koi8-ru'
| | 'macintosh'
| 'csmacintosh'
, 'mac'
, 'x-mac-roman'
| | | | 'windows-874'
| 'dos-874'
, 'iso-8859-11'
, 'iso8859-11'
, 'iso885911'
, 'tis-620'
| | 'windows-1250'
| 'cp1250'
, 'x-cp1250'
| | | 'windows-1251'
| 'cp1251'
, 'x-cp1251'
| | | 'windows-1252'
| 'ansi_x3. 4-1968'
, 'ascii'
, 'cp1252'
, 'cp819'
, 'csisolatin1'
, 'ibm819'
, 'iso-8859-1'
, 'iso-ir-100'
, 'iso8859-1'
, 'iso88591'
, 'iso_8859-1'
, 'iso_8859-1'
, 'iso_8859-1: 1987'
, 'l1'
, 'latin1'
, 'us-ascii'
, 'x-cp1252'
| | 'windows-1253'
| 'cp1253'
, 'x-cp1253'
.
| | 'windows-1254'
| 'cp1254'
, 'csisolatin5'
, 'iso-8859-9'
, 'iso-ir-148'
, 'iso8859-9'
, 'iso88599'
, 'iso_8859-9'
, 'iso_8859-9:1989'
, 'l5'
, 'latin5'
, 'x-cp1254'
| | 'windows-1255'
| 'cp1255'
, 'x-cp1255'
| | | 'windows-1256'
| 'cp1256'
, 'x-cp1256'
| | | 'windows-1257'
| 'cp1257'
, 'x-cp1257'
| | | 'windows-1258'
| 'cp1258'
, 'x-cp1258'
| | | x-mac-cyrillic'` |
x-mac-ukrainian'| ``x-mac-ukrainian'
| | 'gbk'
| 'chinese'
, 'csgb2312'
, 'csiso58gb231280'
, 'gb2312'
, 'gb_2312'
, 'gb_2312-80'
, 'iso-ir-58'
, 'x-gbk'
| | | 'gb18030'| | | | | |
'big5|
'big5-hkscs, `'cn-big5
, 'csbig5``,
'x-x-big5`| | |
'euc-jp'|
'cseucpkdfmtjapanese',
'x-euc-jp'| | |
'iso-2022-jp'|
'csiso2022jp'| |
'shift_jis'|
'csshiftjis',
'ms932',
'ms_kanji',
'shift-jis',
'sjis',
'windows-31j',
'x-sjis'`.
| 'euc-kr'|
'cseuckr',
'csksc56011987',
'iso-ir-149',
'korean',
'ks_c_5601-1987',
'ks_c_5601-1989',
'ksc5601',
'ksc_5601',
'windows-949'` |
Кодировки, поддерживаемые при сборке Node.js с опцией small-icu
.¶
Кодировка | Псевдонимы |
---|---|
'utf-8' |
'unicode-1-1-utf-8' , 'utf8' |
'utf-16le' | | 'utf-16' |
|
'utf-16be' |
Кодировки, поддерживаемые при отключенном ICU¶
Кодировка | Псевдонимы |
---|---|
'utf-8' |
'unicode-1-1-utf-8' , 'utf8' |
'utf-16le' | | 'utf-16' |
. |
Кодировка 'iso-8859-16'
, указанная в WHATWG Encoding Standard, не поддерживается.
new TextDecoder([encoding[, options]])
.¶
encoding
<string>
Определяеткодировку
, которую поддерживает данный экземплярТекстДекодера
. По умолчанию:'utf-8'
.options
<Object>
fatal
<boolean>
true
, если сбои декодирования являются фатальными. Эта опция не поддерживается, если ICU отключен (см. Интернационализация). По умолчанию:false
.ignoreBOM
<boolean>
Когдаtrue
,TextDecoder
будет включать метку порядка байтов в результат декодирования. Приfalse
метка порядка байтов будет удалена из результата. Эта опция используется, только еслиencoding
-'utf-8'
,'utf-16be'
или'utf-16le'
. По умолчанию:false
.
Создает новый экземпляр TextDecoder
. В encoding
может быть указана одна из поддерживаемых кодировок или псевдоним.
Класс TextDecoder
также доступен в глобальном объекте.
textDecoder.decode([input[, options]])
.¶
вход
{ArrayBuffer|DataView|TypedArray} ЭкземплярArrayBuffer
,DataView
илиTypedArray
, содержащий закодированные данные.options
<Object>
stream
<boolean>
true
, если ожидаются дополнительные порции данных. По умолчанию:false
.
- Возвращает:
<string>
Декодирует input
и возвращает строку. Если options.stream
имеет значение true
, все неполные последовательности байтов, встречающиеся в конце ввода
, буферизируются внутри и выдаются после следующего вызова textDecoder.decode()
.
Если textDecoder.fatal
имеет значение true
, то возникающие ошибки декодирования приведут к выбросу TypeError
.
textDecoder.encoding
¶
Кодировка, поддерживаемая экземпляром TextDecoder
.
textDecoder.fatal
¶
Значение будет true
, если в результате ошибок декодирования будет выброшена TypeError
.
textDecoder.ignoreBOM
¶
Значение будет true
, если результат декодирования будет включать метку порядка байтов.
Класс: util.TextEncoder
.¶
Реализация API TextEncoder
WHATWG Encoding Standard. Все экземпляры TextEncoder
поддерживают только кодировку UTF-8.
1 2 |
|
Класс TextEncoder
также доступен на глобальном объекте.
textEncoder.encode([input])
¶
ввод
<string>
Текст для кодирования. По умолчанию: пустая строка.- Возвращает:
<Uint8Array>
UTF-8 кодирует строку input
и возвращает Uint8Array
, содержащий закодированные байты.
textEncoder.encodeInto(src, dest)
.¶
- src
[
`](https://developer.mozilla.org/docs/Web/JavaScript/Data_structures#String_type) Текст для кодирования. dest
<Uint8Array>
Массив для хранения результата кодирования.- Возвращает:
<Object>
UTF-8 кодирует строку rc
в Uint8Array dest
и возвращает объект, содержащий считанные единицы кода Unicode и записанные байты UTF-8.
1 2 3 4 |
|
textEncoder.encoding
¶
Кодировка, поддерживаемая экземпляром TextEncoder
. Всегда устанавливается на 'utf-8'
.
util.toUSVString(string)
.¶
string
<string>
Возвращает строку
после замены любых суррогатных кодовых точек (или, эквивалентно, любых непарных суррогатных кодовых единиц) на "символ замены" Юникода U+FFFD.
util.transferableAbortController()
.¶
Стабильность: 1 – Экспериментальная
Экспериментальный
Создает и возвращает экземпляр {AbortController}, чей <AbortSignal>
помечен как передаваемый и может быть использован с structuredClone()
или postMessage()
.
util.transferableAbortSignal(signal)
.¶
Стабильность: 1 – Экспериментальная
Экспериментальная
signal
<AbortSignal>
- Возвращает:
<AbortSignal>
Маркирует данный <AbortSignal>
как передаваемый, чтобы его можно было использовать с structuredClone()
и postMessage()
.
1 2 3 4 5 |
|
util.aborted(signal, resource)
¶
Стабильность: 1 – Экспериментальная
Экспериментальная
signal
<AbortSignal>
ресурс
<Object>
Любая ненулевая сущность, ссылка на которую удерживается слабо.- Возвращает:
<Promise>
Слушает событие прерывания на предоставленном signal
и возвращает обещание, которое будет выполнено, когда signal
будет прерван. Если переданный ресурс
будет собран до прерывания signal
, возвращаемое обещание будет оставаться невыполненным неопределенное время.
1 2 3 4 5 6 7 8 9 10 11 |
|
1 2 3 4 5 6 7 8 9 10 11 |
|
util.types
¶
util.types
обеспечивает проверку типов для различных видов встроенных объектов. В отличие от instanceof
или Object.prototype.toString.call(value)
, эти проверки не проверяют свойства объекта, доступные из JavaScript (например, его прототип), и обычно имеют накладные расходы на обращение к C++.
Результат, как правило, не дает никаких гарантий относительно того, какие свойства или поведение значение раскрывает в JavaScript. Они в первую очередь полезны для разработчиков аддонов, которые предпочитают делать проверку типов в JavaScript.
API доступен через require('node:util').types
или require('node:util/types')
.
util.types.isAnyArrayBuffer(value)
¶
Возвращает true
, если значение является встроенным экземпляром ArrayBuffer
или SharedArrayBuffer
.
См. также util.types.isArrayBuffer()
и util.types.isSharedArrayBuffer()
.
1 2 |
|
util.types.isArrayBufferView(value)
¶
Возвращает true
, если значение является экземпляром одного из представлений ArrayBuffer
, таких как типизированные объекты массивов или DataView
. Эквивалентно ArrayBuffer.isView()
.
1 2 3 4 5 6 |
|
util.types.isArgumentsObject(value)
¶
Возвращает true
, если значение является объектом arguments
.
1 2 3 |
|
util.types.isArrayBuffer(value)
¶
Возвращает true
, если значение является экземпляром встроенного ArrayBuffer
. Это не включает экземпляры SharedArrayBuffer
. Обычно желательно проверять оба варианта; см. об этом в util.types.isAnyArrayBuffer()
.
1 2 |
|
util.types.isAsyncFunction(value)
¶
Возвращает true
, если значение является асинхронной функцией. Это только сообщает о том, что видит движок JavaScript; в частности, возвращаемое значение может не совпадать с исходным кодом, если использовался инструмент транспиляции.
1 2 |
|
util.types.isBigInt64Array(value)
¶
Возвращает true
, если значение является экземпляром BigInt64Array
.
1 2 |
|
util.types.isBigUint64Array(value)
¶
Возвращает true
, если значение является экземпляром BigUint64Array
.
1 2 |
|
util.types.isBooleanObject(value)
¶
Возвращает true
, если значение является булевым объектом, например, созданным с помощью new Boolean()
.
1 2 3 4 5 6 |
|
util.types.isBoxedPrimitive(value)
¶
Возвращает true
, если значение является любым объектом boxed primitive, например, созданным с помощью new Boolean()
, new String()
или Object(Symbol())
.
Например:
1 2 3 4 5 |
|
util.types.isCryptoKey(value)
¶
Возвращает true
, если значение
является {CryptoKey}, false
в противном случае.
util.types.isDataView(value)
¶
Возвращает true
, если значение является встроенным экземпляром DataView
.
1 2 3 |
|
См. также ArrayBuffer.isView()
.
util.types.isDate(value)
¶
Возвращает true
, если значение является встроенным экземпляром Date
.
1 |
|
util.types.isExternal(value)
¶
Возвращает true
, если значение является родным External
значением.
Родное External
значение - это специальный тип объекта, который содержит необработанный указатель C++ (void*
) для доступа из родного кода и не имеет других свойств. Такие объекты создаются либо внутренними компонентами Node.js, либо нативными аддонами. В JavaScript это frozen объекты с прототипом null
.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
|
1 2 3 4 5 |
|
Более подробную информацию о napi_create_external
смотрите в napi_create_external()
.
util.types.isFloat32Array(value)
¶
Возвращает true
, если значение является встроенным экземпляром Float32Array
.
1 2 3 |
|
util.types.isFloat64Array(value)
¶
Возвращает true
, если значение является встроенным экземпляром Float64Array
.
1 2 3 |
|
util.types.isGeneratorFunction(value)
¶
Возвращает true
, если значение является генераторной функцией. Это только сообщает о том, что видит движок JavaScript; в частности, возвращаемое значение может не совпадать с исходным кодом, если использовался инструмент транспиляции.
1 2 |
|
util.types.isGeneratorObject(value)
¶
Возвращает true
, если значение является объектом генератора, возвращенным встроенной функцией генератора. Это только сообщает о том, что видит движок JavaScript; в частности, возвращаемое значение может не совпадать с исходным кодом, если использовался инструмент транспиляции.
1 2 3 |
|
util.types.isInt8Array(value)
¶
Возвращает true
, если значение является экземпляром встроенного Int8Array
.
1 2 3 |
|
util.types.isInt16Array(value)
¶
Возвращает true
, если значение является экземпляром встроенного Int16Array
.
1 2 3 |
|
util.types.isInt32Array(value)
¶
Возвращает true
, если значение является экземпляром встроенного Int32Array
.
1 2 3 |
|
util.types.isKeyObject(value)
¶
Возвращает true
, если value
является {KeyObject}, false
в противном случае.
util.types.isMap(value)
¶
Возвращает true
, если значение является экземпляром встроенной Map
.
1 |
|
util.types.isMapIterator(value)
¶
Возвращает true
, если значение является итератором, возвращаемым для встроенного экземпляра Map
.
1 2 3 4 5 |
|
util.types.isModuleNamespaceObject(value)
¶
Возвращает true
, если значение является экземпляром Module Namespace Object.
1 2 3 |
|
util.types.isNativeError(value)
¶
Возвращает true
, если значение было возвращено конструктором встроенного типа Error
.
1 2 3 |
|
Подклассы собственных типов ошибок также являются собственными ошибками:
1 2 |
|
Значение, являющееся stanceof
класса нативной ошибки, не эквивалентно тому, что isNativeError()
возвращает true
для этого значения. isNativeError()
возвращает true
для ошибок, которые приходят из другой сферы, в то время как instanceof Error
возвращает false
для этих ошибок:
1 2 3 4 5 |
|
И наоборот, isNativeError()
возвращает false
для всех объектов, которые не были возвращены конструктором родной ошибки. Это включает значения, которые являются instanceof
родных ошибок:
1 2 3 |
|
util.types.isNumberObject(value)
¶
Возвращает true
, если значение является числовым объектом, например, созданным с помощью new Number()
.
1 2 |
|
util.types.isPromise(value)
¶
Возвращает true
, если значение является встроенным Promise
.
1 |
|
util.types.isProxy(value)
¶
Возвращает true
, если значение является экземпляром Proxy
.
1 2 3 4 |
|
util.types.isRegExp(value)
¶
Возвращает true
, если значение является объектом регулярного выражения.
1 2 |
|
util.types.isSet(value)
¶
Возвращает true
, если значение является экземпляром встроенного Set
.
1 |
|
util.types.isSetIterator(value)
¶
Возвращает true
, если значение является итератором, возвращаемым для встроенного экземпляра Set
.
1 2 3 4 5 |
|
util.types.isSharedArrayBuffer(value)
¶
Возвращает true
, если значение является экземпляром встроенного SharedArrayBuffer
. Это не включает экземпляры ArrayBuffer
. Обычно желательно проверять оба варианта; см. об этом в util.types.isAnyArrayBuffer()
.
1 2 |
|
util.types.isStringObject(value)
¶
Возвращает true
, если значение является строковым объектом, например, созданным с помощью new String()
.
1 2 |
|
util.types.isSymbolObject(value)
¶
Возвращает true
, если значение является объектом символа, созданным вызовом Object()
на примитиве Symbol
.
1 2 3 |
|
util.types.isTypedArray(value)
¶
Возвращает true
, если значение является экземпляром встроенного TypedArray
.
1 2 3 |
|
См. также ArrayBuffer.isView()
.
util.types.isUint8Array(value)
¶
Возвращает true
, если значение является экземпляром встроенного Uint8Array
.
1 2 3 |
|
util.types.isUint8ClampedArray(value)
¶
Возвращает true
, если значение является встроенным экземпляром Uint8ClampedArray
.
1 2 3 |
|
util.types.isUint16Array(value)
¶
Возвращает true
, если значение является экземпляром встроенного Uint16Array
.
1 2 3 |
|
util.types.isUint32Array(value)
¶
Возвращает true
, если значение является экземпляром встроенного Uint32Array
.
1 2 3 |
|
util.types.isWeakMap(value)
¶
Возвращает true
, если значение является экземпляром встроенной WeakMap
.
1 |
|
util.types.isWeakSet(value)
¶
Возвращает true
, если значение является экземпляром встроенного WeakSet
.
1 |
|
util.types.isWebAssemblyCompiledModule(value)
.¶
Стабильность: 0 – устарело или набрало много негативных отзывов
Используйте value instanceof WebAssembly.Module
вместо этого.
Возвращает true
, если значение является экземпляром встроенного WebAssembly.Module
.
1 2 |
|
Устаревшие API¶
Следующие API являются устаревшими и больше не должны использоваться. Существующие приложения и модули должны быть обновлены для поиска альтернативных подходов.
util._extend(target, source)
.¶
Стабильность: 0 – устарело или набрало много негативных отзывов
Вместо этого используйте Object.assign()
.
Метод util._extend()
никогда не предназначался для использования вне внутренних модулей Node.js. Однако сообщество все равно нашло и использовало его.
Он устарел и не должен использоваться в новом коде. JavaScript поставляется с очень похожей встроенной функциональностью через Object.assign()
.
util.isArray(object)
.¶
Стабильность: 0 – устарело или набрало много негативных отзывов
Вместо этого используйте Array.isArray()
.
Псевдоним для Array.isArray()
.
Возвращает true
, если данный объект
является массивом
. В противном случае возвращается false
.
1 2 3 4 5 6 7 8 |
|
util.isBoolean(object)
.¶
Стабильность: 0 – устарело или набрало много негативных отзывов
Вместо этого используйте typeof value === 'boolean'
.
Возвращает true
, если данный объект
является булевым
. В противном случае возвращается false
.
1 2 3 4 5 6 7 8 |
|
util.isBuffer(object)
.¶
Стабильность: 0 – устарело или набрало много негативных отзывов
Используйте Buffer.isBuffer()
вместо этого.
Возвращает true
, если данный объект
является буфером
. В противном случае возвращается false
.
1 2 3 4 5 6 7 8 |
|
util.isDate(object)
.¶
Стабильность: 0 – устарело или набрало много негативных отзывов
Используйте util.types.isDate()
вместо этого.
Возвращает true
, если данный объект
является датой
. В противном случае возвращает false
.
1 2 3 4 5 6 7 8 |
|
util.isError(object)
.¶
Стабильность: 0 – устарело или набрало много негативных отзывов
Используйте util.types.isNativeError()
вместо этого.
Возвращает true
, если данный объект
является ошибкой
. В противном случае возвращается false
.
1 2 3 4 5 6 7 8 9 10 11 |
|
Этот метод полагается на поведение Object.prototype.toString()
. Возможно получение неправильного результата, когда аргумент object
манипулирует @@toStringTag
.
1 2 3 4 5 6 7 8 |
|
util.isFunction(object)
.¶
Стабильность: 0 – устарело или набрало много негативных отзывов
Вместо этого используйте typeof value === 'function'
.
Возвращает true
, если данный объект
является функцией
. В противном случае возвращает false
.
1 2 3 4 5 6 7 8 9 10 11 |
|
util.isNull(object)
.¶
Стабильность: 0 – устарело или набрало много негативных отзывов
Вместо этого используйте value === null
.
Возвращает true
, если данный объект
строго null
. В противном случае возвращается false
.
1 2 3 4 5 6 7 8 |
|
util.isNullOrUndefined(object)
.¶
Стабильность: 0 – устарело или набрало много негативных отзывов
Вместо этого используйте value === undefined || value === null
.
Возвращает true
, если данный объект
является null
или undefined
. В противном случае возвращается false
.
1 2 3 4 5 6 7 8 |
|
util.isNumber(object)
.¶
Стабильность: 0 – устарело или набрало много негативных отзывов
Вместо этого используйте typeof value === 'number'
.
Возвращает true
, если данный объект
является число
. В противном случае возвращает false
.
1 2 3 4 5 6 7 8 9 10 |
|
util.isObject(object)
.¶
Стабильность: 0 – устарело или набрало много негативных отзывов
Используйте value !== null && typeof value === 'object'
вместо этого.
Возвращает true
, если данный object
является строго Object
и не Function
(даже если функции являются объектами в JavaScript). В противном случае возвращается false
.
1 2 3 4 5 6 7 8 9 10 |
|
util.isPrimitive(object)
.¶
Стабильность: 0 – устарело или набрало много негативных отзывов
Используйте (typeof value !== 'object' && typeof value !== 'function') || value === null
вместо этого.
Возвращает true
, если данный object
является примитивным типом. В противном случае возвращает false
.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
|
util.isRegExp(object)
.¶
Стабильность: 0 – устарело или набрало много негативных отзывов
Утратил актуальность
Возвращает true
, если данный объект
является RegExp
. В противном случае возвращается false
.
1 2 3 4 5 6 7 8 |
|
util.isString(object)
.¶
Стабильность: 0 – устарело или набрало много негативных отзывов
Вместо этого используйте typeof value === 'string'
.
Возвращает true
, если данный объект
является строкой
. В противном случае возвращает false
.
1 2 3 4 5 6 7 8 9 10 |
|
util.isSymbol(object)
.¶
Стабильность: 0 – устарело или набрало много негативных отзывов
Вместо этого используйте typeof value === 'symbol'
.
Возвращает true
, если данный объект
является символом
. В противном случае возвращается false
.
1 2 3 4 5 6 7 8 |
|
util.isUndefined(object)
.¶
Стабильность: 0 – устарело или набрало много негативных отзывов
Вместо этого используйте value === undefined
.
Возвращает true
, если данный объект
является неопределенным
. В противном случае возвращает false
.
1 2 3 4 5 6 7 8 9 |
|
util.log(string)
.¶
Стабильность: 0 – устарело или набрало много негативных отзывов
Вместо этого используйте сторонний модуль.
string
<string>
Метод util.log()
печатает заданную строку
в stdout
с включенной меткой времени.
1 2 3 |
|