互換性
njsはECMAScript 5.1 (strict mode) に準拠して作成され、一部のECMAScript 6以降の拡張機能を備えています。互換性はまだ進展しています。
ECMAScriptに準拠していないnjs固有のプロパティとメソッドの定義は、リファレンスにあります。ECMAScriptに準拠したnjsのプロパティとメソッドの定義は、ECMAScript仕様にあります。
今は何がサポートされているか
- Boolean values, numbers, strings, objects, arrays, functions, function constructors (0.3.6), and regular expressions
- ES5.1 オペレータ, ES7 指数オペレータ
-
ES5.1 statements:
break
,catch
,continue
,do while
,else
,finally
,for
,for in
,if
,return
,switch
,throw
,try
,var
,while
, labeled statements (0.2.8) -
ES6 statements:
let
(0.6.0),const
(0.6.0),async
(0.7.0),await
(0.7.0) -
Math
properties:-
ES6:
E
,LN10
,LN2
,LOG10E
,LOG2E
,PI
,SQRT1_2
,SQRT2
-
ES6:
-
Math
methods:-
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
properties:-
ES6:
EPSILON
,MAX_SAFE_INTEGER
,MAX_VALUE
,MIN_SAFE_INTEGER
,MIN_VALUE
,NEGATIVE_INFINITY
,NaN
,POSITIVE_INFINITY
-
ES6:
-
Number
methods:-
ES6:
isFinite
,isInteger
,isNaN
,isSafeInteger
,parseFloat
,parseInt
-
ES6:
-
Number
prototype methods: -
String
メソッド:-
ES5.1:
fromCharCode
-
ES6:
fromCodePoint
-
ES5.1:
-
String
prototype methods:-
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) -
non-standard:
bytesFrom
(0.2.3),fromBytes
,fromUTF8
,toBytes
,toUTF8
-
ES5.1:
-
Object
メソッド:-
ES5.1:
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
-
ES6:
assign
(0.3.7) -
ES8:
entries
(0.2.7),values
(0.2.7)
-
ES5.1:
-
Object
prototype methods: -
配列
メソッド:-
ES5.1:
isArray
-
ES6:
of
-
ES5.1:
-
Array
prototype methods:-
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
prototype methods (0.3.8):-
ES6:
slice
-
ES6:
-
Typed-array
コンストラクタ (0.3.8):-
ES6:
Int8Array
,Uint8Array
,Uint8ClampedArray
,Int16Array
,Uint16Array
,Int32Array
,Uint32Array
,Float32Array
,Float64Array
-
ES6:
-
Typed-array
prototype methods (0.3.8): -
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
メソッド (0.3.8): -
Promise
prototype methods (0.3.8):-
ES6:
catch
,finally
,then
-
ES6:
-
Function
prototype methods:-
ES5.1:
apply
,bind
,call
-
ES5.1:
-
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):-
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
prototype methods:-
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
methods:-
ES5.1:
parse
,stringify
-
ES5.1:
-
Symbol
methods (0.7.6):-
for
,keyfor
-
-
ES5.1
arguments
object (0.2.5) - ES6 rest parameters syntax (without destructuring support) (0.2.7)
-
ES5.1 global functions:
decodeURI
,decodeURIComponent
,encodeURI
,encodeURIComponent
,isFinite
,isNaN
,parseFloat
,parseInt
-
Global functions (0.7.6):
atob
,btoa
-
Error
objects:Error
,EvalError
,InternalError
,RangeError
,ReferenceError
,SyntaxError
,TypeError
,URIError
-
clearTimeout
andsetTimeout
functions (0.2.0) -
File system
methods: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), asynchronous version of file system methods. -
Crypto
メソッド (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
-
ES6 modules support:
default
export
and defaultimport
statements (0.3.0) - ES6 arrow functions (0.3.1)
- Template literals: multiline strings, expression interpolation, nesting templates (0.3.2)
- Global objects (0.3.3):