Совместимость
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
- ES6:
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
- ES6:
Numberсвойства:- ES6:
EPSILON,MAX_SAFE_INTEGER,MAX_VALUE,MIN_SAFE_INTEGER,MIN_VALUE,NEGATIVE_INFINITY,NaN,POSITIVE_INFINITY
- ES6:
Numberметоды:- ES6:
isFinite,isInteger,isNaN,isSafeInteger,parseFloat,parseInt
- ES6:
Numberметоды прототипа:Stringметоды:- ES5.1:
fromCharCode - ES6:
fromCodePoint
- ES5.1:
Stringметоды прототипа: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)
- ES5.1:
Objectметоды прототипа:Arrayметоды:- ES5.1:
isArray - ES6:
of - ES13:
from(0.8.0),
- ES5.1:
Arrayметоды прототипа:ArrayBufferметоды (0.3.8):- ES6:
isView
- ES6:
ArrayBufferметоды прототипа (0.3.8):- ES6:
slice
- ES6:
Typed-arrayконструкторы (0.3.8):- ES6:
Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array
- ES6:
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)
- ES6:
Bufferметоды (0.4.4):
-
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): -
Promiseметоды прототипа (0.3.8):- ES6:
catch,finally,then
- ES6:
-
Functionметоды прототипа:- ES5.1:
apply,bind,call
- ES5.1:
-
RegExpсвойства доступа прототипа: -
RegExpметоды прототипа: -
RegExpсвойства экземпляра:-
lastIndex
-
-
RegExpES9 именованные группы захвата (0.3.2) -
DataViewметоды прототипа (0.4.4):- ES6:
getFloat32,getFloat64,getInt16,getInt32,getInt8,getUint16,getUint32,getUint8,setFloat32,setFloat64,setInt16,setInt32,setInt8,setUint16,setUint32,setUint8
- ES6:
-
Dateметоды:- ES5.1:
now,parse,UTC
- ES5.1:
-
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
- ES5.1:
-
JSONметоды:- ES5.1:
parse,stringify
- ES5.1:
-
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.writeFileSyncfs.writeSync(0.7.7) -
fs.promisesAPI (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
-
zlibметоды (0.7.12):deflateRawSync,deflateSync,inflateRawSyncinflateSync - Поддержка модулей ES6: операторы default
exportи defaultimport( 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.digestsubtle.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