njs is created in compliance with ECMAScript 5.1 (strict mode) with some ECMAScript 6 and later extensions. The compliance is still evolving.
Definitions of njs specific properties and methods not compliant with ECMAScript can be found in Reference. Definitions of njs properties and methods compliant with ECMAScript can be found in ECMAScript specification.
break, catch, continue, do while, else, finally, for, for in, if, return, switch, throw, try, var, while, labeled statements (0.2.8) let (0.6.0), const (0.6.0), async (0.7.0), await (0.7.0) Math properties: E, LN10, LN2, LOG10E, LOG2E, PI, SQRT1_2, SQRT2 Math methods: abs, acos, acosh, asin, asinh, atan, atan2, atanh, cbrt, ceil, clz32, cos, cosh, exp, expm1, floor, fround, hypot, imul, log, log10, log1p, log2, max, min, pow, random, round, sign, sin, sinh, sqrt, tan, tanh, trunc Number properties: EPSILON, MAX_SAFE_INTEGER, MAX_VALUE, MIN_SAFE_INTEGER, MIN_VALUE, NEGATIVE_INFINITY, NaN, POSITIVE_INFINITY Number methods: isFinite, isInteger, isNaN, isSafeInteger, parseFloat, parseInt Number prototype methods: String methods: fromCharCode fromCodePoint String prototype methods: Object methods: create (support without properties list), defineProperties (accessor descriptors support since 0.3.3), defineProperty (accessor descriptors support since 0.3.3), freeze, getOwnPropertyDescriptor, getOwnPropertyDescriptors (0.3.1), getOwnPropertyNames (0.3.1), getPrototypeOf, isExtensible, isFrozen, isSealed, keys, preventExtensions, seal assign (0.3.7) entries (0.2.7), values (0.2.7) Object prototype methods: Array methods: isArray of from (0.8.0), Array prototype methods: ArrayBuffer methods (0.3.8): isView ArrayBuffer prototype methods (0.3.8): slice Typed-array constructors (0.3.8): Int8Array, Uint8Array, Uint8ClampedArray, Int16Array, Uint16Array, Int32Array, Uint32Array, Float32Array, Float64Array Typed-array prototype methods (0.3.8): copyWithin, every (0.4.4), fill, filter (0.4.4), find (0.4.4), findIndex (0.4.4), forEach (0.4.4), includes (0.4.4), indexOf (0.4.4), join, lastIndexOf (0.4.4), map (0.4.4), reduce (0.4.4), reduceRight (0.4.4), reverse (0.4.4), set, slice, some (0.4.4), sort (0.4.2), subarray, toString toReversed (0.8.0) toSorted (0.8.0) Buffer methods (0.4.4): Buffer prototype methods: (0.4.4): compare, copy, equals, fill, includes, indexOf, lastIndexOf, readIntBE, readInt8, readInt16BE, readInt32BE, readIntLE, readInt8, readInt16LE, readInt32LE, readUIntBE, readUInt8, readUInt16BE, readUInt32BE, readUIntLE, readUInt8, readUInt16LE, readUInt32LE, readDoubleBE, readDoubleLE, readFloatBE, readFloatLE, subarray, slice, swap16, swap32, swap64, toJSON, toString, write, writeIntBE, writeInt8, writeInt16BE, writeInt32BE, writeIntLE, writeInt8, writeInt16LE, writeInt32LE, writeUIntBE, writeUInt8, writeUInt16BE, writeUInt32BE, writeUIntLE, writeUInt8, writeUInt16LE, writeUInt32LE, writeDoubleBE, writeDoubleLE, writeFloatBE, writeFloatLE Promise methods (0.3.8): Promise prototype methods (0.3.8): catch, finally, then Function prototype methods: apply, bind, call RegExp prototype accessor properties: RegExp prototype methods: RegExp instance properties: lastIndex RegExp ES9 named capture groups (0.3.2) DataView prototype methods (0.4.4): getFloat32, getFloat64, getInt16, getInt32, getInt8, getUint16, getUint32, getUint8, setFloat32, setFloat64, setInt16, setInt32, setInt8, setUint16, setUint32, setUint8 Date methods: now, parse, UTC Date prototype methods: getDate, getDay, getFullYear, getHours, getMilliseconds, getMinutes, getMonth, getSeconds, getTime, getTimezoneOffset, getUTCDate, getUTCDay, getUTCFullYear, getUTCHours, getUTCMilliseconds, getUTCMinutes, getUTCMonth, getUTCSeconds, toDateString, toISOString, toLocaleDateString, toLocaleString, toLocaleTimeString, toTimeString, toUTCString, setDate, setFullYear, setHours, setMinutes, setMilliseconds, setMonth, setSeconds, setTime, setUTCDate, setUTCFullYear, setUTCHours, setUTCMilliseconds, setUTCMinutes, setUTCMonth, setUTCSeconds JSON methods: parse, stringify Symbol methods (0.7.6): for, keyfor arguments object (0.2.5) decodeURI, decodeURIComponent, encodeURI, encodeURIComponent, isFinite, isNaN, parseFloat, parseInt atob, btoa Error objects: Error, EvalError, InternalError, RangeError, ReferenceError, SyntaxError, TypeError, URIError clearTimeout and setTimeout functions (0.2.0) File system methods: fs.accessSync (0.3.9), fs.appendFileSync, fs.closeSync, fs.existsSync (0.8.2), fs.FileHandle (0.7.7), fs.fstatSync (0.7.7), fs.lstatSync (0.7.1), fs.mkdirSync (0.4.2), fs.openSync (0.7.7), fs.promises.open (0.7.7), fs.readdirSync (0.4.2), fs.readFileSync, fs.readSync (0.7.7), fs.realpathSync (0.3.9), fs.renameSync (0.3.4), fs.rmdirSync (0.4.2), fs.symlinkSync (0.3.9), fs.unlinkSync (0.3.9), fs.writeFileSync fs.writeSync (0.7.7) fs.promises API (0.3.9), asynchronous version of file system methods. Crypto methods (0.2.0): crypto.createHash, crypto.createHmac Query String methods (0.4.3): querystring.decode, querystring.encode, querystring.escape, querystring.parse, querystring.stringify, querystring.unescape TextDecoder methods (0.4.3): encoding, fatal, ignoreBOM, decode TextEncoder methods (0.4.3): encode, encodeInto XML methods (0.7.10): parse, xml.c14n, xml.exclusiveC14n zlib methods (0.7.12): deflateRawSync, deflateSync, inflateRawSync inflateSync export and default import statements (0.3.0) console (0.8.2): error, info, log, time, timeEnd, warn crypto (0.7.0): getRandomValues, subtle.encrypt, subtle.decrypt, subtle.deriveBits, subtle.deriveKey, subtle.digest subtle.exportKey (0.7.10), subtle.generateKey (0.7.10), subtle.importKey, subtle.sign, subtle.verify globalThis alias (0.3.8), njs: version, version_number (0.7.4), dump, memoryStats (0.7.8), on (0.5.2) process: argv, env, pid, ppid HTTP Request: r.done (0.5.2), r.error, r.finish, r.internalRedirect, r.log, r.return (0.5.0), r.send (0.5.0), r.sendBuffer (0.5.2), r.sendHeader, r.setReturnValue (0.7.0), r.subrequest, r.warn Stream Session: s.allow (0.2.4), s.decline (0.2.4), s.deny (0.2.4), s.done (0.2.4), s.error, s.log, s.off (0.2.4), s.on (0.2.4), s.send (0.2.4), s.sendDownstream (0.7.8), s.sendUpstream (0.7.8), s.setReturnValue (0.7.0), s.warn Headers (0.5.1): append, delete, get, getAll, forEach, has, set Request (0.7.10): arrayBuffer, headers, json, text Response (0.5.1): arrayBuffer, headers, json, text ngx (0.5.0): fetch (0.5.1), log ngx.shared (0.8.0): add, clear, delete, freeSpace, get, has, incr, items, keys, pop, replace, set, size HTTP Request: r.args, r.headersIn, r.headersOut, r.httpVersion, r.internal, r.method, r.parent, r.rawHeadersIn (0.4.1), r.rawHeadersOut (0.4.1), r.rawVariables (0.5.0), r.remoteAddress, r.requestBuffer (0.5.0), r.requestText, r.responseBuffer (0.5.0), r.responseText (0.5.0), r.status, r.uri, r.variables (0.2.8) Stream Session: s.remoteAddress, s.rawVariables (0.5.0), s.status (0.5.2), s.variables (0.2.8) Periodic Session (0.8.1): PeriodicSession.rawVariables, PeriodicSession.variables Request (0.7.10): bodyUsed, cache, credentials, method, mode, url Response (0.5.1): bodyUsed, ok, redirected, status, statusText, type, url ngx (0.5.0): build (0.8.0), conf_file_path (0.8.0), conf_prefix (0.7.8), error_log_path (0.8.0), prefix (0.8.0), version (0.8.0), version_number (0.8.0), worker_id (0.8.0) ngx.shared (0.8.0): capacity, name, type
© 2002-2021 Igor Sysoev
© 2011-2025 Nginx, Inc.
Licensed under the BSD License.
https://nginx.org/en/docs/njs/compatibility.html