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.