v1.3.0.0
Standard JS Objects and Functions

This reference contains a list of standard ECMAScript objects, functions and properties supported by the plugin's JavaScript engine.

The Dynamic Script Engine Plugin scripting environment supports most JavaScript features up to ECMAScript level 7 (ECMA-262), as well as a handful of "Web API" features, or their close approximations.

This document lists all the supported objects and methods from the standards, with further details about items which do not fully match what is published on MDN, which is used as a reference.

Note
Some objects may only offer partial support for latest standards. In these cases, details of which properties/functions are supported per object type are shown below the main list and "details" links are provided.
Green links are to internal documentation details, blue links are external (MDN).

In some cases the standard objects are also extended (ArrayBuffer, Date, Math, Number, String, URL), as is the Global object, which is documented separately.

Nullish Coalescing (??) and Optional Chaining (?.) are also implemented.

Note that all Math functions are also available in the global scope, w/out the Math. qualifier.

Standard objects by category

Fundamental objects

Numbers and dates

(Note lack of support for BigInt types.)

Text processing

Indexed Collections

(Note lack of support for BigInt types.)

Keyed Collections

Structured data

Control Abstraction Objects

(Note that async functions/generators are not supported nor is the general async/await pattern. Use Promise instead.)

Reflection

Error objects

Web API

Details by object type

Any object type listed above but not here is presumed to have full compatibility as per MDN current documentation.

Global

Properties

Methods

See also
Global object extensions

Object

Supports all properties and methods described in MDN reference, except:

Array

Supports all properties and methods described in MDN reference, except:

String

Supports all properties and methods described in MDN reference, except:

See also
String extensions

Promise

Promise Prototype

Web API

AbortController

AbortSignal

Note that in addition to the onabort property, there are other methods for connecting to the signal's abort event. signal.on("abort", callback), for example, which takes an optional, 3rd argument after the callback. If an object is passed here then the callback function will be invoked with that object as the this target. For example:

const xhr = XMLHttpRequest();
const ac = new AbortController();
// w/out the 2nd argument this will fail for async requests since the 'this' scope is lost.
ac.signal.on("abort", xhr.abort, xhr);

Alternately, the abort event can be safely connected directly to a method of any object. For example:

// note the switched argument positions vs the 'on("abort", ...)' signature.
ac.signal.abort.connect(xhr, xhr.abort);

See Event Handling for more details about connecting handlers to events.

Timers

console (Logging)

Function Properties

Extended functionality:

XMLHttpRequest

The XMLHttpRequest object, which can be used to obtain data over a network using HTTP/s protocols.

The XMLHttpRequest API implements the same W3C standard as many popular web browsers with following exceptions:

See also
Network APIs

Additionally, the responseXML XML DOM tree currently supported by DSEP4TP is a reduced subset of the DOM Level 3 Core API supported in a web browser. The following objects and properties are supported:

NodeDocumentElementAttrCharacterDataText
  • nodeName
  • nodeValue
  • nodeType
  • parentNode
  • childNodes
  • firstChild
  • lastChild
  • previousSibling
  • nextSibling
  • attributes
  • xmlVersion
  • xmlEncoding
  • xmlStandalone
  • documentElement
  • tagName
  • name
  • value
  • ownerElement
  • data
  • length
  • isElementContentWhitespace
  • wholeText