This table shows proposals which have not yet been included in the current ECMAScript standard, but are at one of the maturity stages of the TC39 process.
V8 SpiderMonkey JavaScriptCore Chakra Other
Minor difference (1 point) Small feature (2 points) Medium feature (4 points) Large feature (8 points)
Feature name Current browser Traceur Babel +
core-js
[2]
Closure Type-
Script +
core-js
IE 7 IE 8 IE 9 IE 10 IE 11 Edge 12[3] Edge 13[3] Edge 14[3] Edge 15[3] FF 38
ESR
FF 42 FF 43 FF 44 FF 45 ESR FF 46 FF 47 FF 48 FF 49 FF 50 FF 51 Beta FF 52 Aurora FF 53 Nightly CH 46,
OP 33
[1]
CH 47,
OP 34
[1]
CH 48,
OP 35
[1]
CH 49,
OP 36
[1]
CH 50,
OP 37
[1]
CH 51,
OP 38
[1]
CH 52,
OP 39
[1]
CH 53,
OP 40
[1]
CH 54,
OP 41
[1]
CH 55,
OP 42
[1]
CH 56,
OP 43
[1]
CH 57,
OP 44
[1]
SF 5 SF
5.1
SF 6 SF 6.1,
SF 7
SF 7.1,
SF 8
SF 9 SF 10 SF TP WK PJS Node 0.10[4] Node 0.12[4] io.js[4] Node 4[4] Node 5[4] Node 6.0-6.4[4] Node 6.5[4] Node 7[4] AN 4.0 AN 4.1 AN 4.2 AN 4.3 AN 4.4 AN 5.0 AN 5.1 iOS 5.1 iOS 6 iOS 7 iOS 8 iOS 9 iOS 10
Candidate (stage 3)
§SIMD (Single Instruction, Multiple Data) 0/57 0/57 0/57 0/57 0/57 0/57 0/57 0/57 0/57 0/57 0/57 0/57 0/57 0/57 0/57 0/57 0/57 0/57 0/57 0/57 0/57 0/57 0/57 0/57 0/57 0/57 0/57 0/57 0/57 0/57 0/57 0/57 0/57 0/57 0/57 0/57 0/57 0/57 0/57 0/57 0/57 0/57 0/57 0/57 0/57 0/57 0/57 0/57 0/57 0/57 0/57 0/57 0/57 0/57 0/57 0/57 0/57 0/57 0/57 0/57 0/57 0/57 0/57 0/57 0/57 0/57 0/57 0/57 0/57
§basic support No No No No No No No No No Flag Flag Flag Flag No No No No No No No No[5] No[5] No[5] No[5] No[5] No[5] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Float32x4 No No No No No No No No No No Flag Flag Flag No No No No No No No No[5] No[5] No[5] No[5] No[5] No[5] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Int32x4 No No No No No No No No No No Flag Flag Flag No No No No No No No No[5] No[5] No[5] No[5] No[5] No[5] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Int16x8 No No No No No No No No No No No Flag Flag No No No No No No No No[5] No[5] No[5] No[5] No[5] No[5] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Int8x16 No No No No No No No No No No Flag Flag Flag No No No No No No No No[5] No[5] No[5] No[5] No[5] No[5] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Uint32x4 No No No No No No No No No No No Flag Flag No No No No No No No No[5] No[5] No[5] No[5] No[5] No[5] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Uint16x8 No No No No No No No No No No No Flag Flag No No No No No No No No[5] No[5] No[5] No[5] No[5] No[5] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Uint8x16 No No No No No No No No No No No Flag Flag No No No No No No No No[5] No[5] No[5] No[5] No[5] No[5] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Bool32x4 No No No No No No No No No No No Flag Flag No No No No No No No No[5] No[5] No[5] No[5] No[5] No[5] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Bool16x8 No No No No No No No No No No No Flag Flag No No No No No No No No[5] No[5] No[5] No[5] No[5] No[5] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Bool8x16 No No No No No No No No No No No Flag Flag No No No No No No No No[5] No[5] No[5] No[5] No[5] No[5] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§SIMD.%type%.abs No No No No No No No No No No Flag Flag Flag No No No No No No No No[5] No[5] No[5] No[5] No[5] No[5] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§SIMD.%type%.add No No No No No No No No No No Flag Flag Flag No No No No No No No No[5] No[5] No[5] No[5] No[5] No[5] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§SIMD.%integerType%.addSaturate No No No No No No No No No No No Flag Flag No No No No No No No No[5] No[5] No[5] No[5] No[5] No[5] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§SIMD.%booleanType%.and No No No No No No No No No No No Flag Flag No No No No No No No No[5] No[5] No[5] No[5] No[5] No[5] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§SIMD.%booleanType%.anyTrue No No No No No No No No No No No Flag Flag No No No No No No No No[5] No[5] No[5] No[5] No[5] No[5] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§SIMD.%booleanType%.allTrue No No No No No No No No No No No Flag Flag No No No No No No No No[5] No[5] No[5] No[5] No[5] No[5] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§SIMD.%type%.check No No No No No No No No No No Flag Flag Flag No No No No No No No No[5] No[5] No[5] No[5] No[5] No[5] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§SIMD.%type%.equal No No No No No No No No No No Flag Flag Flag No No No No No No No No[5] No[5] No[5] No[5] No[5] No[5] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§SIMD.%type%.extractLane No No No No No No No No No No Flag Flag Flag No No No No No No No No[5] No[5] No[5] No[5] No[5] No[5] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§SIMD.%type%.greaterThan No No No No No No No No No No Flag Flag Flag No No No No No No No No[5] No[5] No[5] No[5] No[5] No[5] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§SIMD.%type%.greaterThanOrEqual No No No No No No No No No No Flag Flag Flag No No No No No No No No[5] No[5] No[5] No[5] No[5] No[5] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§SIMD.%type%.lessThan No No No No No No No No No No Flag Flag Flag No No No No No No No No[5] No[5] No[5] No[5] No[5] No[5] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§SIMD.%type%.lessThanOrEqual No No No No No No No No No No Flag Flag Flag No No No No No No No No[5] No[5] No[5] No[5] No[5] No[5] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§SIMD.%type%.mul No No No No No No No No No No Flag Flag Flag No No No No No No No No[5] No[5] No[5] No[5] No[5] No[5] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§SIMD.%type%.div No No No No No No No No No No Flag Flag Flag No No No No No No No No[5] No[5] No[5] No[5] No[5] No[5] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§SIMD.%type%.load No No No No No No No No No No No Flag Flag No No No No No No No No[5] No[5] No[5] No[5] No[5] No[5] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§SIMD.%type%.load1 No No No No No No No No No No No Flag Flag No No No No No No No No[5] No[5] No[5] No[5] No[5] No[5] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§SIMD.%type%.load2 No No No No No No No No No No No Flag Flag No No No No No No No No[5] No[5] No[5] No[5] No[5] No[5] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§SIMD.%type%.load3 No No No No No No No No No No No Flag Flag No No No No No No No No[5] No[5] No[5] No[5] No[5] No[5] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§SIMD.%type%.max No No No No No No No No No No Flag Flag Flag No No No No No No No No[5] No[5] No[5] No[5] No[5] No[5] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§SIMD.%type%.maxNum No No No No No No No No No No No Flag Flag No No No No No No No No[5] No[5] No[5] No[5] No[5] No[5] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§SIMD.%type%.min No No No No No No No No No No Flag Flag Flag No No No No No No No No[5] No[5] No[5] No[5] No[5] No[5] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§SIMD.%type%.minNum No No No No No No No No No No No Flag Flag No No No No No No No No[5] No[5] No[5] No[5] No[5] No[5] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§SIMD.%type%.neg No No No No No No No No No No Flag Flag Flag No No No No No No No No[5] No[5] No[5] No[5] No[5] No[5] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§SIMD.%booleanType%.not No No No No No No No No No No No Flag Flag No No No No No No No No[5] No[5] No[5] No[5] No[5] No[5] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§SIMD.%type%.notEqual No No No No No No No No No No Flag Flag Flag No No No No No No No No[5] No[5] No[5] No[5] No[5] No[5] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§SIMD.%booleanType%.or No No No No No No No No No No No Flag Flag No No No No No No No No[5] No[5] No[5] No[5] No[5] No[5] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§SIMD.%type%.reciprocalApproximation No No No No No No No No No No No Flag Flag No No No No No No No No[5] No[5] No[5] No[5] No[5] No[5] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§SIMD.%type%.reciprocalSqrtApproximation No No No No No No No No No No No Flag Flag No No No No No No No No[5] No[5] No[5] No[5] No[5] No[5] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§SIMD.%type%.replaceLane No No No No No No No No No No Flag Flag Flag No No No No No No No No[5] No[5] No[5] No[5] No[5] No[5] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§SIMD.%type%.select No No No No No No No No No No Flag Flag Flag No No No No No No No No[5] No[5] No[5] No[5] No[5] No[5] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§SIMD.%integerType%.shiftLeftByScalar No No No No No No No No No No No Flag Flag No No No No No No No No[5] No[5] No[5] No[5] No[5] No[5] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§SIMD.%integerType%.shiftRightByScalar No No No No No No No No No No No Flag Flag No No No No No No No No[5] No[5] No[5] No[5] No[5] No[5] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§SIMD.%type%.shuffle No No No No No No No No No No Flag Flag Flag No No No No No No No No[5] No[5] No[5] No[5] No[5] No[5] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§SIMD.%type%.splat No No No No No No No No No No Flag Flag Flag No No No No No No No No[5] No[5] No[5] No[5] No[5] No[5] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§SIMD.%type%.sqrt No No No No No No No No No No Flag Flag Flag No No No No No No No No[5] No[5] No[5] No[5] No[5] No[5] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§SIMD.%type%.store No No No No No No No No No No Flag Flag Flag No No No No No No No No[5] No[5] No[5] No[5] No[5] No[5] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§SIMD.%type%.store1 No No No No No No No No No No Flag Flag Flag No No No No No No No No[5] No[5] No[5] No[5] No[5] No[5] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§SIMD.%type%.store2 No No No No No No No No No No Flag Flag Flag No No No No No No No No[5] No[5] No[5] No[5] No[5] No[5] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§SIMD.%type%.store3 No No No No No No No No No No Flag Flag Flag No No No No No No No No[5] No[5] No[5] No[5] No[5] No[5] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§SIMD.%type%.sub No No No No No No No No No No Flag Flag Flag No No No No No No No No[5] No[5] No[5] No[5] No[5] No[5] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§SIMD.%integerType%.subSaturate No No No No No No No No No No No No No No No No No No No No No[5] No[5] No[5] No[5] No[5] No[5] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§SIMD.%type%.swizzle No No No No No No No No No No Flag Flag Flag No No No No No No No No[5] No[5] No[5] No[5] No[5] No[5] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§SIMD.%booleanType%.xor No No No No No No No No No No No Flag Flag No No No No No No No No[5] No[5] No[5] No[5] No[5] No[5] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§SIMD.%type%.fromTIMDBits No No No No No No No No No No No Flag Flag No No No No No No No No[5] No[5] No[5] No[5] No[5] No[5] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§SIMD.%type%.fromTIMD No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§object rest properties No Yes No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§object spread properties No Yes No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§global No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No No No No No No
§shared memory and atomics 0/17 0/17 0/17 0/17 0/17 0/17 0/17 0/17 0/17 0/17 0/17 0/17 0/17 0/17 0/17 0/17 0/17 0/17 0/17 0/17 0/17 0/17 0/17 0/17 0/17 0/17 0/17 0/17 0/17 0/17 0/17 0/17 0/17 0/17 0/17 0/17 0/17 0/17 0/17 0/17 0/17 0/17 0/17 0/17 0/17 12/17 12/17 0/17 0/17 0/17 0/17 0/17 0/17 0/17 0/17 0/17 0/17 0/17 0/17 0/17 0/17 0/17 0/17 0/17 0/17 0/17 0/17 0/17 0/17
§SharedArrayBuffer No No No No No No No No No No No No No No No No No No No[5] No[5] No[5] No[5] No[5] No[6] No[6] No[6] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§SharedArrayBuffer[Symbol.species] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§SharedArrayBuffer.prototype.byteLength No No No No No No No No No No No No No No No No No No No[5] No[5] No[5] No[5] No[5] No[6] No[6] No[6] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§SharedArrayBuffer.prototype.slice No No No No No No No No No No No No No No No No No No No No No No No No No[6] No[6] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§SharedArrayBuffer.prototype[Symbol.toStringTag] No No No No No No No No No No No No No No No No No No No No No No No No No[6] No[6] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Atomics.add No No No No No No No No No No No No No No No No No No No[5] No[5] No[5] No[5] No[5] No[6] No[6] No[6] No No No No No No No No No No No No No No No No No No No Yes Yes No No No No No No No No No No No No No No No No No No No No No No
§Atomics.and No No No No No No No No No No No No No No No No No No No[5] No[5] No[5] No[5] No[5] No[6] No[6] No[6] No No No No No No No No No No No No No No No No No No No Yes Yes No No No No No No No No No No No No No No No No No No No No No No
§Atomics.compareExchange No No No No No No No No No No No No No No No No No No No[5] No[5] No[5] No[5] No[5] No[6] No[6] No[6] No No No No No No No No No No No No No No No No No No No Yes Yes No No No No No No No No No No No No No No No No No No No No No No
§Atomics.exchange No No No No No No No No No No No No No No No No No No No[5] No[5] No[5] No[5] No[5] No[6] No[6] No[6] No No No No No No No No No No No No No No No No No No No Yes Yes No No No No No No No No No No No No No No No No No No No No No No
§Atomics.wait No No No No No No No No No No No No No No No No No No No No No[5] No[5] No[5] No[6] No[6] No[6] No No No No No No No No No No No No No No No No No No No Yes Yes No No No No No No No No No No No No No No No No No No No No No No
§Atomics.wake No No No No No No No No No No No No No No No No No No No No No[5] No[5] No[5] No[6] No[6] No[6] No No No No No No No No No No No No No No No No No No No Yes Yes No No No No No No No No No No No No No No No No No No No No No No
§Atomics.isLockFree No No No No No No No No No No No No No No No No No No No[5] No[5] No[5] No[5] No[5] No[6] No[6] No[6] No No No No No No No No No No No No No No No No No No No Yes Yes No No No No No No No No No No No No No No No No No No No No No No
§Atomics.load No No No No No No No No No No No No No No No No No No No[5] No[5] No[5] No[5] No[5] No[6] No[6] No[6] No No No No No No No No No No No No No No No No No No No Yes Yes No No No No No No No No No No No No No No No No No No No No No No
§Atomics.or No No No No No No No No No No No No No No No No No No No[5] No[5] No[5] No[5] No[5] No[6] No[6] No[6] No No No No No No No No No No No No No No No No No No No Yes Yes No No No No No No No No No No No No No No No No No No No No No No
§Atomics.store No No No No No No No No No No No No No No No No No No No[5] No[5] No[5] No[5] No[5] No[6] No[6] No[6] No No No No No No No No No No No No No No No No No No No Yes Yes No No No No No No No No No No No No No No No No No No No No No No
§Atomics.sub No No No No No No No No No No No No No No No No No No No[5] No[5] No[5] No[5] No[5] No[6] No[6] No[6] No No No No No No No No No No No No No No No No No No No Yes Yes No No No No No No No No No No No No No No No No No No No No No No
§Atomics.xor No No No No No No No No No No No No No No No No No No No[5] No[5] No[5] No[5] No[5] No[6] No[6] No[6] No No No No No No No No No No No No No No No No No No No Yes Yes No No No No No No No No No No No No No No No No No No No No No No
§Async iteration 0/2 2/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2
§async generators No Yes No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§for-await-of loops No Yes No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
Draft (stage 2)
§function.sent No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§class decorators No No[7] No Yes No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§class properties Yes Yes No Yes No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§string trimming 0/4 4/4 0/4 4/4 0/4 0/4 0/4 0/4 0/4 2/4 2/4 2/4 2/4 2/4 2/4 2/4 2/4 2/4 2/4 2/4 2/4 2/4 2/4 2/4 2/4 2/4 2/4 2/4 2/4 2/4 2/4 2/4 2/4 2/4 2/4 2/4 2/4 2/4 0/4 2/4 2/4 2/4 2/4 2/4 2/4 2/4 2/4 2/4 0/4 2/4 2/4 2/4 2/4 2/4 2/4 2/4 2/4 2/4 2/4 2/4 2/4 2/4 2/4 2/4 2/4 2/4 2/4 2/4 2/4
§String.prototype.trimLeft No Yes No Yes[8] No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§String.prototype.trimRight No Yes No Yes[8] No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§String.prototype.trimStart No Yes No Yes[8] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§String.prototype.trimEnd No Yes No Yes[8] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§private fields 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2
§basic support No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§initializers No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
Proposal (stage 1)
§Observable 0/8 8/8 0/8 8/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8
§basic support No Yes No Yes[8] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Symbol.observable well known symbol No Yes No Yes[8] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Observable.prototype.subscribe No Yes No Yes[8] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Observable constructor behavior No Yes No Yes[8] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Observable.prototype.forEach No Yes No Yes[8] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Observable.prototype[Symbol.observable] No Yes No Yes[8] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Observable.of No Yes No Yes[8] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Observable.from No Yes No Yes[8] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§String.prototype.matchAll No Yes No Yes[8] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§weak references No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§frozen realms No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
Strawman (stage 0)
§bind (::) operator 0/2 2/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2
§binary form No Yes No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§unary form No Yes No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§do expression No Yes No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Realms No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§String.prototype.at No Yes No Yes[8] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Math methods for 64-bit integers 0/4 4/4 0/4 4/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4
§Math.iaddh No Yes No Yes[8] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Math.isubh No Yes No Yes[8] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Math.imulh No Yes No Yes[8] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Math.umulh No Yes No Yes[8] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§additional meta properties 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3
§function.callee No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§function.count No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§function.arguments No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§method parameter decorators No No No Yes No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§function expression decorators No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§RegExp named capture groups No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§RegExp lookbehind No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No Flag Flag Flag Flag Flag Flag Flag Flag No No No No No No No No No No No No No No No Flag Flag Flag No No No No No No No No No No No No No
§Reflect.isCallable / Reflect.isConstructor 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2
§Reflect.isCallable No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Reflect.isConstructor No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§zones 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7
§Zone No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Zone.current No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Zone.prototype.name No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Zone.prototype.parent No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Zone.prototype.fork No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Zone.prototype.run No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Zone.prototype.wrap No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§asap No Yes No Yes[8] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§syntactic tail calls 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2
§direct recursion No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§mutual recursion No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
Pre-strawman
§Metadata reflection API 0/9 9/9 0/9 9/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9
§Reflect.defineMetadata No Yes No Yes[8] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Reflect.hasMetadata No Yes No Yes[8] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Reflect.hasOwnMetadata No Yes No Yes[8] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Reflect.getMetadata No Yes No Yes[8] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Reflect.getOwnMetadata No Yes No Yes[8] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Reflect.getMetadataKeys No Yes No Yes[8] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Reflect.getOwnMetadataKeys No Yes No Yes[8] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Reflect.deleteMetadata No Yes No Yes[8] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Reflect.metadata No Yes No Yes[8] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No

[1] Flagged features have to be enabled via "Experimental Javascript features" flag

[2] Flagged features require an optional transformer setting.

[3] Flagged features have to be enabled via "Enable experimental Javascript features" setting under about:flags

[4] Flagged features have to be enabled via --harmony or --es_staging flag

[5] The feature is enabled by default only in Firefox Nightly.

[6] The feature is enabled by default only in Firefox Developer and Firefox Nightly.

[7] Babel 6 still has no official support decorators, but you can use this plugin.

[8] This feature is supported when using TypeScript with core-js, or when a native ES6 host is used.