Global Objects | Node.js v13.14.0 Documentation (original) (raw)
Global Objects#
These objects are available in all modules. The following variables may appear to be global but are not. They exist only in the scope of modules, see themodule system documentation:
The objects listed here are specific to Node.js. There are built-in objectsthat are part of the JavaScript language itself, which are also globally accessible.
Class: Buffer
#
Added in: v0.1.103
Used to handle binary data. See the buffer section.
__dirname
#
This variable may appear to be global but is not. See __dirname.
__filename
#
This variable may appear to be global but is not. See __filename.
clearImmediate(immediateObject)
#
Added in: v0.9.1
clearImmediate is described in the timers section.
clearInterval(intervalObject)
#
Added in: v0.0.1
clearInterval is described in the timers section.
clearTimeout(timeoutObject)
#
Added in: v0.0.1
clearTimeout is described in the timers section.
console
#
Added in: v0.1.100
Used to print to stdout and stderr. See the console section.
exports
#
This variable may appear to be global but is not. See exports.
global
#
Added in: v0.1.27
In browsers, the top-level scope is the global scope. This means that within the browser var something
will define a new global variable. In Node.js this is different. The top-level scope is not the global scope;var something
inside a Node.js module will be local to that module.
module
#
This variable may appear to be global but is not. See module.
process
#
Added in: v0.1.7
The process object. See the process object section.
queueMicrotask(callback)
#
Added in: v11.0.0
The queueMicrotask()
method queues a microtask to invoke callback
. Ifcallback
throws an exception, the process object 'uncaughtException'
event will be emitted.
The microtask queue is managed by V8 and may be used in a similar manner to the process.nextTick() queue, which is managed by Node.js. Theprocess.nextTick()
queue is always processed before the microtask queue within each turn of the Node.js event loop.
// Here, `queueMicrotask()` is used to ensure the 'load' event is always
// emitted asynchronously, and therefore consistently. Using
// `process.nextTick()` here would result in the 'load' event always emitting
// before any other promise jobs.
DataHandler.prototype.load = async function load(key) {
const hit = this._cache.get(url);
if (hit !== undefined) {
queueMicrotask(() => {
this.emit('load', hit);
});
return;
}
const data = await fetchData(key);
this._cache.set(url, data);
this.emit('load', data);
};
require()
#
This variable may appear to be global but is not. See require().
setImmediate(callback[, ...args])
#
Added in: v0.9.1
setImmediate is described in the timers section.
setInterval(callback, delay[, ...args])
#
Added in: v0.0.1
setInterval is described in the timers section.
setTimeout(callback, delay[, ...args])
#
Added in: v0.0.1
setTimeout is described in the timers section.
TextDecoder
#
Added in: v11.0.0
The WHATWG TextDecoder
class. See the TextDecoder section.
TextEncoder
#
Added in: v11.0.0
The WHATWG TextEncoder
class. See the TextEncoder section.
URL
#
Added in: v10.0.0
The WHATWG URL
class. See the URL section.
URLSearchParams
#
Added in: v10.0.0
The WHATWG URLSearchParams
class. See the URLSearchParams section.
WebAssembly
#
Added in: v8.0.0
The object that acts as the namespace for all W3CWebAssembly related functionality. See theMozilla Developer Network for usage and compatibility.