Spec-Zone.ru › nginx

Совместимость

njs создан в соответствии с ECMAScript 5.1 (строгий режим) с некоторыми расширениями ECMAScript 6 и более поздними. Совместимость все еще развивается.

Определения свойств и методов njs, не соответствующих ECMAScript, можно найти в Справочнике. Определения свойств и методов njs, соответствующих ECMAScript, можно найти в Спецификации ECMAScript.

Что в настоящее время поддерживается

  • Булевы значения, числа, строки, объекты, массивы, функции, конструкторы функций (0.3.6) и регулярные выражения
  • Операторы ES5.1, операторы возведения в степень ES7
  • Операторы ES5.1: break, catch, continue, do while, else, finally, for, for in, if, return, switch, throw, try, var, while, операторы с метками (0.2.8)
  • Операторы ES6: let (0.6.0), const (0.6.0), async (0.7.0), await (0.7.0)
  • Math свойства:
    • ES6: E, LN10, LN2, LOG10E, LOG2E, PI, SQRT1_2, SQRT2
  • Math методы:
    • ES6: 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 свойства:
    • ES6: EPSILON, MAX_SAFE_INTEGER, MAX_VALUE, MIN_SAFE_INTEGER, MIN_VALUE, NEGATIVE_INFINITY, NaN, POSITIVE_INFINITY
  • Number методы:
    • ES6: isFinite, isInteger, isNaN, isSafeInteger, parseFloat, parseInt
  • Number методы прототипа:
    • ES6: toExponential (0.3.6), toFixed (0.3.6), toPrecision (0.3.6)
  • String методы:
    • ES5.1: fromCharCode
    • ES6: fromCodePoint
  • String методы прототипа:
    • ES5.1: charAt, concat, indexOf, lastIndexOf, match, replace, search, slice, split, substr, substring, toLowerCase, trim, toUpperCase
    • ES6: codePointAt, endsWith, includes, repeat, startsWith
    • ES8: padEnd, padStart
    • ES9: trimEnd (0.3.4), trimStart (0.3.4)
    • ES12: replaceAll (0.7.10)
  • Object методы:
    • ES5.1: create (поддержка без списка свойств), defineProperties (поддержка дескрипторов доступа с 0.3.3), defineProperty (поддержка дескрипторов доступа с 0.3.3), freeze, getOwnPropertyDescriptor, getOwnPropertyDescriptors (0.3.1), getOwnPropertyNames (0.3.1), getPrototypeOf, isExtensible, isFrozen, isSealed, keys, preventExtensions, seal
    • ES6: assign (0.3.7)
    • ES8: entries (0.2.7), values (0.2.7)
  • Object методы прототипа:
    • ES5.1: hasOwnProperty, isPrototypeOf, (0.3.0), propertyIsEnumerable, toString, valueOf
    • ES6: is (0.3.8), setPrototypeOf (0.3.8)
  • Array методы:
    • ES5.1: isArray
    • ES6: of
    • ES13: from (0.8.0),
  • Array методы прототипа:
    • ES5.1: concat, every, filter, forEach, indexOf, join, lastIndexOf, map, pop, push, reduce, reduceRight, reverse, shift, slice, some, sort, splice, unshift
    • ES6: copyWithin (0.3.7), fill, find, findIndex
    • ES7: includes
    • ES13: toReversed (0.8.0), toSorted (0.8.0), toSpliced (0.8.0)
  • ArrayBuffer методы (0.3.8):
    • ES6: isView
  • ArrayBuffer методы прототипа (0.3.8):
    • ES6: slice
  • Typed-array конструкторы (0.3.8):
    • ES6: Int8Array, Uint8Array, Uint8ClampedArray, Int16Array, Uint16Array, Int32Array, Uint32Array, Float32Array, Float64Array
  • Typed-array методы прототипа (0.3.8):
    • ES6: 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
    • ES13: toReversed (0.8.0) toSorted (0.8.0)
  • Buffer методы (0.4.4):
    • alloc, allocUnsafe, byteLength, compare, concat, from, isBuffer, isEncoding
END_OF_DOCUMENT_MARKER
  • Buffer методы прототипа: (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 методы (0.3.8):
    • ES6: any (0.6.2), all (0.6.2), allSettled (0.6.2), reject, resolve, race (0.6.2)
  • Promise методы прототипа (0.3.8):
    • ES6: catch, finally, then
  • Function методы прототипа:
    • ES5.1: apply, bind, call
  • RegExp свойства доступа прототипа:
    • flags (0.6.0), global, ignoreCase, multiline, source, sticky (0.6.0)
  • RegExp методы прототипа:
    • [@@replace] (0.4.2), [@@split] (0.6.0)
    • ES5.1: exec, test, toString
  • RegExp свойства экземпляра:
    • lastIndex
  • RegExp ES9 именованные группы захвата (0.3.2)
  • DataView методы прототипа (0.4.4):
    • ES6: getFloat32, getFloat64, getInt16, getInt32, getInt8, getUint16, getUint32, getUint8, setFloat32, setFloat64, setInt16, setInt32, setInt8, setUint16, setUint32, setUint8
  • Date методы:
    • ES5.1: now, parse, UTC
  • Date методы прототипа:
    • ES5.1: 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 методы:
    • ES5.1: parse, stringify
  • Symbol методы (0.7.6):
    • for, keyfor
  • ES5.1 arguments объект (0.2.5)
  • ES6 rest параметры синтаксис (без поддержки деструктурирования) (0.2.7)
  • ES5.1 глобальные функции: decodeURI, decodeURIComponent, encodeURI, encodeURIComponent, isFinite, isNaN, parseFloat, parseInt
  • Глобальные функции (0.7.6): atob, btoa
  • Error объекты: Error, EvalError, InternalError, RangeError, ReferenceError, SyntaxError, TypeError, URIError
  • clearTimeout и setTimeout функции (0.2.0)
  • File system методы: 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), асинхронная версия методов файловой системы.
  • Crypto методы (0.2.0): crypto.createHash, crypto.createHmac
  • Query String методы (0.4.3): querystring.decode, querystring.encode, querystring.escape, querystring.parse, querystring.stringify, querystring.unescape
  • TextDecoder методы (0.4.3): encoding, fatal, ignoreBOM, decode
  • TextEncoder методы (0.4.3): encode, encodeInto
  • XML методы (0.7.10): parse, xml.c14n, xml.exclusiveC14n
END_OF_DOCUMENT_MARKER
  • zlib методы (0.7.12): deflateRawSync, deflateSync, inflateRawSync inflateSync
  • Поддержка модулей ES6: операторы default export и default import ( 0.3.0)
  • Стрелочные функции ES6 (0.3.1)
  • Шаблонные литералы: многострочные строки, интерполяция выражений, вложенные шаблоны (0.3.2)
  • Глобальные объекты (0.3.3):
    • 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 псевдоним (0.3.8),
    • njs: version, version_number (0.7.4), dump, memoryStats (0.7.8), on (0.5.2)
    • process: argv, env, pid, ppid
  • Методы объекта nginx:
    • 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
  • свойства объекта nginx:
    • 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-2024 Nginx, Inc.
Licensed under the BSD License.
https://nginx.org/en/docs/njs/compatibility.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API