Theutil
module is primarily designed to support the needs of Node.js' owninternal APIs. However, many of the utilities are useful for application andmodule developers as well. It can be accessed using:
const util = require('util');
original
<Function> Anasync
functionTakes anasync
function (or a function that returns a Promise) and returns afunction following the error-first callback style, i.e. takinga(err, value) => ...
callback as the last argument. In the callback, thefirst argument will be the rejection reason (ornull
if the Promiseresolved), and the second argument will be the resolved value.
For example:
const util = require('util');async function fn() { return 'hello world';}const callbackFunction = util.callbackify(fn);callbackFunction((err, ret) => { if (err) throw err; console.log(ret);});
Will print:
hello world
Note:
The callback is executed asynchronously, and will have a limited stack trace.If the callback throws, the process will emit an'uncaughtException'
event, and if not handled will exit.
Sincenull
has a special meaning as the first argument to a callback, if awrapped function rejects aPromise
with a falsy value as a reason, the valueis wrapped in anError
with the original value stored in a field namedreason
.
function fn() { return Promise.reject(null);}const callbackFunction = util.callbackify(fn);callbackFunction((err, ret) => { // When the Promise was rejected with `null` it is wrapped with an Error and // the original value is stored in `reason`. err && err.hasOwnProperty('reason') && err.reason === null; // true});
section
<string> A string identifying the portion of the application forwhich thedebuglog
function is being created.Theutil.debuglog()
method is used to create a function that conditionallywrites debug messages tostderr
based on the existence of theNODE_DEBUG
environment variable. If thesection
name appears within the value of thatenvironment variable, then the returned function operates similar toconsole.error()
. If not, then the returned function is a no-op.
For example:
const util = require('util');const debuglog = util.debuglog('foo');debuglog('hello from foo [%d]', 123);
If this program is run withNODE_DEBUG=foo
in the environment, thenit will output something like:
FOO 3245: hello from foo [123]
where3245
is the process id. If it is not run with thatenvironment variable set, then it will not print anything.
Multiple comma-separatedsection
names may be specified in theNODE_DEBUG
environment variable. For example:NODE_DEBUG=fs,net,tls
.
Theutil.deprecate()
method wraps the givenfunction
or class in such a way thatit is marked as deprecated.
const util = require('util');exports.puts = util.deprecate(function() { for (let i = 0, len = arguments.length; i < len; ++i) { process.stdout.write(arguments[i] + '\n'); }}, 'util.puts: Use console.log instead');
When called,util.deprecate()
will return a function that will emit aDeprecationWarning
using theprocess.on('warning')
event. By default,this warning will be emitted and printed tostderr
exactly once, the firsttime it is called. After the warning is emitted, the wrappedfunction
is called.
If either the--no-deprecation
or--no-warnings
command line flags areused, or if theprocess.noDeprecation
property is set totrue
prior tothe first deprecation warning, theutil.deprecate()
method does nothing.
If the--trace-deprecation
or--trace-warnings
command line flags are set,or theprocess.traceDeprecation
property is set totrue
, a warning and astack trace are printed tostderr
the first time the deprecated function iscalled.
If the--throw-deprecation
command line flag is set, or theprocess.throwDeprecation
property is set totrue
, then an exception will bethrown when the deprecated function is called.
The--throw-deprecation
command line flag andprocess.throwDeprecation
property take precedence over--trace-deprecation
andprocess.traceDeprecation
.
Version | Changes |
---|---|
v8.4.0 | The |
v0.5.3 | Added in: v0.5.3 |
format
<string> Aprintf
-like format string.Theutil.format()
method returns a formatted string using the first argumentas aprintf
-like format.
The first argument is a string containing zero or moreplaceholder tokens.Each placeholder token is replaced with the converted value from thecorresponding argument. Supported placeholders are:
%s
- String.%d
- Number (integer or floating point value).%i
- Integer.%f
- Floating point value.%j
- JSON. Replaced with the string'[Circular]'
if the argumentcontains circular references.%o
- Object. A string representation of an objectwith generic JavaScript object formatting.Similar toutil.inspect()
with options{ showHidden: true, depth: 4, showProxy: true }
.This will show the full object including non-enumerable symbols and properties.%O
- Object. A string representation of an objectwith generic JavaScript object formatting.Similar toutil.inspect()
without options.This will show the full object not including non-enumerable symbols and properties.%%
- single percent sign ('%'
). This does not consume an argument.If the placeholder does not have a corresponding argument, the placeholder isnot replaced.
util.format('%s:%s', 'foo');// Returns: 'foo:%s'
If there are more arguments passed to theutil.format()
method than the numberof placeholders, the extra arguments are coerced into strings then concatenatedto the returned string, each delimited by a space. Excessive arguments whosetypeof
is'object'
or'symbol'
(exceptnull
) will be transformed byutil.inspect()
.
util.format('%s:%s', 'foo', 'bar', 'baz'); // 'foo:bar baz'
If the first argument is not a string thenutil.format()
returnsa string that is the concatenation of all arguments separated by spaces.Each argument is converted to a string usingutil.inspect()
.
util.format(1, 2, 3); // '1 2 3'
If only one argument is passed toutil.format()
, it is returned as it iswithout any formatting.
util.format('%% %s'); // '%% %s'
Returns the string name for a numeric error code that comes from a Node.js API.The mapping between error codes and error names is platform-dependent.SeeCommon System Errors for the names of common errors.
fs.access('file/that/does/not/exist', (err) => { const name = util.getSystemErrorName(err.errno); console.error(name); // ENOENT});
Version | Changes |
---|---|
v5.0.0 | The |
v0.3.0 | Added in: v0.3.0 |
Note: Usage ofutil.inherits()
is discouraged. Please use the ES6class
andextends
keywords to get language level inheritance support. Also notethat the two styles aresemantically incompatible.
constructor
<Function>superConstructor
<Function>Inherit the prototype methods from oneconstructor into another. Theprototype ofconstructor
will be set to a new object created fromsuperConstructor
.
As an additional convenience,superConstructor
will be accessiblethrough theconstructor.super_
property.
const util = require('util');const EventEmitter = require('events');function MyStream() { EventEmitter.call(this);}util.inherits(MyStream, EventEmitter);MyStream.prototype.write = function(data) { this.emit('data', data);};const stream = new MyStream();console.log(stream instanceof EventEmitter); // trueconsole.log(MyStream.super_ === EventEmitter); // truestream.on('data', (data) => { console.log(`Received data: "${data}"`);});stream.write('It works!'); // Received data: "It works!"
ES6 example usingclass
andextends
const EventEmitter = require('events');class MyStream extends EventEmitter { write(data) { this.emit('data', data); }}const stream = new MyStream();stream.on('data', (data) => { console.log(`Received data: "${data}"`);});stream.write('With ES6');
Version | Changes |
---|---|
v6.6.0 | Custom inspection functions can now return |
v6.3.0 | The |
v6.1.0 | The |
v6.1.0 | The |
v0.3.0 | Added in: v0.3.0 |
object
<any> Any JavaScript primitive or Object.options
<Object>showHidden
<boolean> Iftrue
, theobject
's non-enumerable symbols andproperties will be included in the formatted result.Default:false
.depth
<number> Specifies the number of times to recurse while formattingtheobject
. This is useful for inspecting large complicated objects.Defaults to2
. To make it recurse indefinitely passnull
.colors
<boolean> Iftrue
, the output will be styled with ANSI colorcodes. Colors are customizable, seeCustomizingutil.inspect
colors.Default:false
.customInspect
<boolean> Iffalse
, then custominspect(depth, opts)
functions exported on theobject
being inspected will not be called.Default:true
.showProxy
<boolean> Iftrue
, then objects and functions that areProxy
objects will be introspected to show theirtarget
andhandler
objects.Default:false
.maxArrayLength
<number> Specifies the maximum number of array andTypedArray
elements to include when formatting. Set tonull
to show allarray elements. Set to0
or negative to show no array elements.Default:100
.breakLength
<number> The length at which an object's keys are splitacross multiple lines. Set toInfinity
to format an object as a singleline.Default:60
for legacy compatibility.Theutil.inspect()
method returns a string representation ofobject
that isprimarily useful for debugging. Additionaloptions
may be passed that altercertain aspects of the formatted string.
The following example inspects all properties of theutil
object:
const util = require('util');console.log(util.inspect(util, { showHidden: true, depth: null }));
Values may supply their own custominspect(depth, opts)
functions, whencalled these receive the currentdepth
in the recursive inspection, as well asthe options object passed toutil.inspect()
.
util.inspect
colors#Color output (if enabled) ofutil.inspect
is customizable globallyvia theutil.inspect.styles
andutil.inspect.colors
properties.
util.inspect.styles
is a map associating a style name to a color fromutil.inspect.colors
.
The default styles and associated colors are:
number
-yellow
boolean
-yellow
string
-green
date
-magenta
regexp
-red
null
-bold
undefined
-grey
special
-cyan
(only applied to functions at this time)name
- (no styling)The predefined color codes are:white
,grey
,black
,blue
,cyan
,green
,magenta
,red
andyellow
. There are alsobold
,italic
,underline
andinverse
codes.
Color styling uses ANSI control codes that may not be supported on allterminals.
Objects may also define their own[util.inspect.custom](depth, opts)
(or the equivalent but deprecatedinspect(depth, opts)
) function thatutil.inspect()
will invoke and use the result of when inspecting the object:
const util = require('util');class Box { constructor(value) { this.value = value; } [util.inspect.custom](depth, options) { if (depth < 0) { return options.stylize('[Box]', 'special'); } const newOptions = Object.assign({}, options, { depth: options.depth === null ? null : options.depth - 1 }); // Five space padding because that's the size of "Box< ". const padding = ' '.repeat(5); const inner = util.inspect(this.value, newOptions) .replace(/\n/g, `\n${padding}`); return `${options.stylize('Box', 'special')}< ${inner} >`; }}const box = new Box(true);util.inspect(box);// Returns: "Box< true >"
Custom[util.inspect.custom](depth, opts)
functions typically return a stringbut may return a value of any type that will be formatted accordingly byutil.inspect()
.
const util = require('util');const obj = { foo: 'this will not show up in the inspect() output' };obj[util.inspect.custom] = (depth) => { return { bar: 'baz' };};util.inspect(obj);// Returns: "{ bar: 'baz' }"
A Symbol that can be used to declare custom inspect functions, seeCustom inspection functions on Objects.
ThedefaultOptions
value allows customization of the default options used byutil.inspect
. This is useful for functions likeconsole.log
orutil.format
which implicitly call intoutil.inspect
. It shall be set to anobject containing one or more validutil.inspect()
options. Settingoption properties directly is also supported.
const util = require('util');const arr = Array(101).fill(0);console.log(arr); // logs the truncated arrayutil.inspect.defaultOptions.maxArrayLength = null;console.log(arr); // logs the full array
original
<Function>Takes a function following the common error-first callback style, i.e. takinga(err, value) => ...
callback as the last argument, and returns a versionthat returns promises.
For example:
const util = require('util');const fs = require('fs');const stat = util.promisify(fs.stat);stat('.').then((stats) => { // Do something with `stats`}).catch((error) => { // Handle the error.});
Or, equivalently usingasync function
s:
const util = require('util');const fs = require('fs');const stat = util.promisify(fs.stat);async function callStat() { const stats = await stat('.'); console.log(`This directory is owned by ${stats.uid}`);}
If there is anoriginal[util.promisify.custom]
property present,promisify
will return its value, seeCustom promisified functions.
promisify()
assumes thatoriginal
is a function taking a callback as itsfinal argument in all cases. Iforiginal
is not a function,promisify()
will throw an error. Iforiginal
is a function but its last argument is notan error-first callback, it will still be passed an error-firstcallback as its last argument.
Using theutil.promisify.custom
symbol one can override the return value ofutil.promisify()
:
const util = require('util');function doSomething(foo, callback) { // ...}doSomething[util.promisify.custom] = (foo) => { return getPromiseSomehow();};const promisified = util.promisify(doSomething);console.log(promisified === doSomething[util.promisify.custom]);// prints 'true'
This can be useful for cases where the original function does not follow thestandard format of taking an error-first callback as the last argument.
For example, with a function that takes in(foo, onSuccessCallback, onErrorCallback)
:
doSomething[util.promisify.custom] = (foo) => { return new Promise((resolve, reject) => { doSomething(foo, resolve, reject); });};
Ifpromisify.custom
is defined but is not a function,promisify()
willthrow an error.
A Symbol that can be used to declare custom promisified variants of functions,seeCustom promisified functions.
An implementation of theWHATWG Encoding StandardTextDecoder
API.
const decoder = new TextDecoder('shift_jis');let string = '';let buffer;while (buffer = getNextChunkSomehow()) { string += decoder.decode(buffer, { stream: true });}string += decoder.decode(); // end-of-stream
Per theWHATWG Encoding Standard, the encodings supported by theTextDecoder
API are outlined in the tables below. For each encoding,one or more aliases may be used.
Different Node.js build configurations support different sets of encodings.While a very basic set of encodings is supported even on Node.js builds withoutICU enabled, support for some encodings is provided only when Node.js is builtwith ICU and using the full ICU data (seeInternationalization).
Encoding | Aliases |
---|---|
'utf-8' | 'unicode-1-1-utf-8' ,'utf8' |
'utf-16le' | 'utf-16' |
Encoding | Aliases |
---|---|
'utf-8' | 'unicode-1-1-utf-8' ,'utf8' |
'utf-16le' | 'utf-16' |
'utf-16be' |
Encoding | Aliases |
---|---|
'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: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:1988' ,'visual' |
'iso-8859-8-i' | 'csiso88598i' ,'logical' |
'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: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' |
'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' |
Note: The'iso-8859-16'
encoding listed in theWHATWG Encoding Standardis not supported.
encoding
<string> Identifies theencoding
that thisTextDecoder
instancesupports.Default:'utf-8'
.options
<Object>fatal
<boolean>true
if decoding failures are fatal. This option is onlysupported when ICU is enabled (seeInternationalization).Default:false
.ignoreBOM
<boolean> Whentrue
, theTextDecoder
will include the byte order mark in the decoded result. Whenfalse
, the byte order mark will be removed from the output. This option is only used whenencoding
is'utf-8'
,'utf-16be'
or'utf-16le'
.Default:false
.Creates an newTextDecoder
instance. Theencoding
may specify one of thesupported encodings or an alias.
input
<ArrayBuffer> |<DataView> |<TypedArray> AnArrayBuffer
,DataView
orTyped Array instance containing the encoded data.options
<Object>stream
<boolean>true
if additional chunks of data are expected.Default:false
.Decodes theinput
and returns a string. Ifoptions.stream
istrue
, anyincomplete byte sequences occurring at the end of theinput
are bufferedinternally and emitted after the next call totextDecoder.decode()
.
IftextDecoder.fatal
istrue
, decoding errors that occur will result in aTypeError
being thrown.
The encoding supported by theTextDecoder
instance.
The value will betrue
if decoding errors result in aTypeError
beingthrown.
The value will betrue
if the decoding result will include the byte ordermark.
An implementation of theWHATWG Encoding StandardTextEncoder
API. Allinstances ofTextEncoder
only support UTF-8 encoding.
const encoder = new TextEncoder();const uint8array = encoder.encode('this is some data');
input
<string> The text to encode.Default: an empty string.UTF-8 encodes theinput
string and returns aUint8Array
containing theencoded bytes.
The encoding supported by theTextEncoder
instance. Always set to'utf-8'
.
The following APIs have been deprecated and should no longer be used. Existingapplications and modules should be updated to find alternative approaches.
Object.assign()
instead.Theutil._extend()
method was never intended to be used outside of internalNode.js modules. The community found and used it anyway.
It is deprecated and should not be used in new code. JavaScript comes with verysimilar built-in functionality throughObject.assign()
.
console.error()
instead.string
<string> The message to print tostderr
Deprecated predecessor ofconsole.error
.
console.error()
instead....strings
<string> The message to print tostderr
Deprecated predecessor ofconsole.error
.
object
<any>Internal alias forArray.isArray
.
Returnstrue
if the givenobject
is anArray
. Otherwise, returnsfalse
.
const util = require('util');util.isArray([]);// Returns: trueutil.isArray(new Array());// Returns: trueutil.isArray({});// Returns: false
object
<any>Returnstrue
if the givenobject
is aBoolean
. Otherwise, returnsfalse
.
const util = require('util');util.isBoolean(1);// Returns: falseutil.isBoolean(0);// Returns: falseutil.isBoolean(false);// Returns: true
Buffer.isBuffer()
instead.object
<any>Returnstrue
if the givenobject
is aBuffer
. Otherwise, returnsfalse
.
const util = require('util');util.isBuffer({ length: 0 });// Returns: falseutil.isBuffer([]);// Returns: falseutil.isBuffer(Buffer.from('hello world'));// Returns: true
object
<any>Returnstrue
if the givenobject
is aDate
. Otherwise, returnsfalse
.
const util = require('util');util.isDate(new Date());// Returns: trueutil.isDate(Date());// false (without 'new' returns a String)util.isDate({});// Returns: false
object
<any>Returnstrue
if the givenobject
is anError
. Otherwise, returnsfalse
.
const util = require('util');util.isError(new Error());// Returns: trueutil.isError(new TypeError());// Returns: trueutil.isError({ name: 'Error', message: 'an error occurred' });// Returns: false
Note that this method relies onObject.prototype.toString()
behavior. It ispossible to obtain an incorrect result when theobject
argument manipulates@@toStringTag
.
const util = require('util');const obj = { name: 'Error', message: 'an error occurred' };util.isError(obj);// Returns: falseobj[Symbol.toStringTag] = 'Error';util.isError(obj);// Returns: true
object
<any>Returnstrue
if the givenobject
is aFunction
. Otherwise, returnsfalse
.
const util = require('util');function Foo() {}const Bar = () => {};util.isFunction({});// Returns: falseutil.isFunction(Foo);// Returns: trueutil.isFunction(Bar);// Returns: true
object
<any>Returnstrue
if the givenobject
is strictlynull
. Otherwise, returnsfalse
.
const util = require('util');util.isNull(0);// Returns: falseutil.isNull(undefined);// Returns: falseutil.isNull(null);// Returns: true
object
<any>Returnstrue
if the givenobject
isnull
orundefined
. Otherwise,returnsfalse
.
const util = require('util');util.isNullOrUndefined(0);// Returns: falseutil.isNullOrUndefined(undefined);// Returns: trueutil.isNullOrUndefined(null);// Returns: true
object
<any>Returnstrue
if the givenobject
is aNumber
. Otherwise, returnsfalse
.
const util = require('util');util.isNumber(false);// Returns: falseutil.isNumber(Infinity);// Returns: trueutil.isNumber(0);// Returns: trueutil.isNumber(NaN);// Returns: true
object
<any>Returnstrue
if the givenobject
is strictly anObject
and not aFunction
. Otherwise, returnsfalse
.
const util = require('util');util.isObject(5);// Returns: falseutil.isObject(null);// Returns: falseutil.isObject({});// Returns: trueutil.isObject(function() {});// Returns: false
object
<any>Returnstrue
if the givenobject
is a primitive type. Otherwise, returnsfalse
.
const util = require('util');util.isPrimitive(5);// Returns: trueutil.isPrimitive('foo');// Returns: trueutil.isPrimitive(false);// Returns: trueutil.isPrimitive(null);// Returns: trueutil.isPrimitive(undefined);// Returns: trueutil.isPrimitive({});// Returns: falseutil.isPrimitive(function() {});// Returns: falseutil.isPrimitive(/^$/);// Returns: falseutil.isPrimitive(new Date());// Returns: false
object
<any>Returnstrue
if the givenobject
is aRegExp
. Otherwise, returnsfalse
.
const util = require('util');util.isRegExp(/some regexp/);// Returns: trueutil.isRegExp(new RegExp('another regexp'));// Returns: trueutil.isRegExp({});// Returns: false
object
<any>Returnstrue
if the givenobject
is astring
. Otherwise, returnsfalse
.
const util = require('util');util.isString('');// Returns: trueutil.isString('foo');// Returns: trueutil.isString(String('foo'));// Returns: trueutil.isString(5);// Returns: false
object
<any>Returnstrue
if the givenobject
is aSymbol
. Otherwise, returnsfalse
.
const util = require('util');util.isSymbol(5);// Returns: falseutil.isSymbol('foo');// Returns: falseutil.isSymbol(Symbol('foo'));// Returns: true
object
<any>Returnstrue
if the givenobject
isundefined
. Otherwise, returnsfalse
.
const util = require('util');const foo = undefined;util.isUndefined(5);// Returns: falseutil.isUndefined(foo);// Returns: trueutil.isUndefined(null);// Returns: false
string
<string>Theutil.log()
method prints the givenstring
tostdout
with an includedtimestamp.
const util = require('util');util.log('Timestamped message.');
console.log()
instead.Deprecated predecessor ofconsole.log
.
console.log()
instead.Deprecated predecessor ofconsole.log
.