Совместимость
njs совместим с ECMAScript 5.1 (строгий режим) c некоторыми расширениями ECMAScript 6 и позже. Совместимость находится в стадии развития.
Описания методов и свойств, доступных только в njs и не соответствующих стандарту ECMAScript, доступны в справочнике. Описания методов и свойств njs, соответствующих стандарту, доступны в спецификации 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
, инструкции меток (labels) (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
:-
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) -
нестандартные:
bytesFrom
(0.2.3),fromBytes
,fromUTF8
,toBytes
,toUTF8
-
ES5.1:
-
Методы
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
-
ES5.1:
-
Методы прототипа
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
-
ES5.1:
-
Методы
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): -
Методы
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
-
-
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
-
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 global functions:
decodeURI
,decodeURIComponent
,encodeURI
,encodeURIComponent
,isFinite
,isNaN
,parseFloat
,parseInt
-
Global functions:
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.mkdirSync
(0.4.2),fs.readdirSync
(0.4.2),fs.readFileSync
,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.promises
API (0.3.9), асинхронная версия файловых методов file system. -
Методы
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
-
ES6 поддержка модулей:
инструкции
export
по умолчанию иimport
по умолчанию (0.3.0) - ES6 поддержка стрелочных функций (0.3.1)
- Шаблонные строки: многострочные литералы, интерполяция выражений, вложенные шаблоны (0.3.2)
- Глобальные объекты (0.3.3):