NativeScript V8 JavaScriptCore
Minor difference (1 point) Small feature (2 points) Medium feature (4 points) Large feature (8 points)
NativeScript Desktop browsers
Feature name Current browser97% NS 6.5 Android
v8
81%
NS 7.0 Android
v8
81%
NS 8.0 Android
v8
81%
NS 6.5 iOS
JSC
68%
NS 7.0 iOS
v8
87%
NS 8.0 iOS
v8
94%
CH 8999% CH 9099% SF 14 Beta91% SF TP93%
2016 features
§exponentiation (**) operator MDN (Mozilla Development Network) logo 3/3 3/3 3/3 3/3 3/3 3/3 3/3 3/3 3/3 3/3 3/3
§basic supportcYes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§assignmentcYes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§early syntax error for unary negation without parenscYes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§Array.prototype.includes MDN (Mozilla Development Network) logo 3/3 3/3 3/3 3/3 3/3 3/3 3/3 3/3 3/3 3/3 3/3
§Array.prototype.includes MDN (Mozilla Development Network) logo cYes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§Array.prototype.includes is genericcYes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§%TypedArray%.prototype.includes MDN (Mozilla Development Network) logo cYes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
2016 misc
§generator functions can't be used with "new" MDN (Mozilla Development Network) logo [1]cYes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§generator throw() caught by inner generator MDN (Mozilla Development Network) logo [2]cYes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§strict fn w/ non-strict non-simple params is error[3]cYes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§nested rest destructuring, declarations MDN (Mozilla Development Network) logo [4]cYes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§nested rest destructuring, parameters[5]cYes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§Proxy, "enumerate" handler removed MDN (Mozilla Development Network) logo [6]cYes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§Proxy internal calls, Array.prototype.includescYes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
2017 features
§Object static methods4/4 4/4 4/4 4/4 4/4 4/4 4/4 4/4 4/4 4/4 4/4
§Object.values MDN (Mozilla Development Network) logo cYes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§Object.entries MDN (Mozilla Development Network) logo cYes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§Object.getOwnPropertyDescriptors MDN (Mozilla Development Network) logo cYes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§Object.getOwnPropertyDescriptors doesn't provide undefined descriptorscYes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§String padding2/2 2/2 2/2 2/2 2/2 2/2 2/2 2/2 2/2 2/2 2/2
§String.prototype.padStart MDN (Mozilla Development Network) logo cYes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§String.prototype.padEnd MDN (Mozilla Development Network) logo cYes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§trailing commas in function syntax MDN (Mozilla Development Network) logo 2/2 2/2 2/2 2/2 2/2 2/2 2/2 2/2 2/2 2/2 2/2
§in parameter lists MDN (Mozilla Development Network) logo cYes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§in argument lists MDN (Mozilla Development Network) logo cYes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§async functions MDN (Mozilla Development Network) logo 14/16 16/16 16/16 16/16 16/16 16/16 16/16 16/16 16/16 16/16 16/16
§returncYes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§throwcYes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§no line break between async and functioncYes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§no "prototype" propertycYes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§await MDN (Mozilla Development Network) logo cNo Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§await, rejectioncNo Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§must await a valuecYes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§can await non-Promise valuescYes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§cannot await in parameterscYes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§async methods, object literalscYes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§async methods, classescYes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§async arrow functions in methods, classescYes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§async arrow functionscYes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§correct prototype chaincYes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§async function prototype, Symbol.toStringTagcYes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§async function constructorcYes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§shared memory and atomics11/17 17/17 17/17 17/17 0/17 17/17 16/17 17/17 17/17 0/17 0/17
§SharedArrayBuffer MDN (Mozilla Development Network) logo cNo Yes Yes Yes No Yes Yes Yes Yes No[7] No[7]
§SharedArrayBuffer[Symbol.species]cNo Yes Yes Yes No Yes Yes Yes Yes No[7] No[7]
§SharedArrayBuffer.prototype.byteLength MDN (Mozilla Development Network) logo cNo Yes Yes Yes No Yes Yes Yes Yes No[7] No[7]
§SharedArrayBuffer.prototype.slice MDN (Mozilla Development Network) logo cNo Yes Yes Yes No Yes Yes Yes Yes No[7] No[7]
§SharedArrayBuffer.prototype[Symbol.toStringTag]cNo Yes Yes Yes No Yes Yes Yes Yes No[7] No[7]
§Atomics.add MDN (Mozilla Development Network) logo cYes Yes Yes Yes No Yes Yes Yes Yes No[7] No[7]
§Atomics.and MDN (Mozilla Development Network) logo cYes Yes Yes Yes No Yes Yes Yes Yes No[7] No[7]
§Atomics.compareExchange MDN (Mozilla Development Network) logo cYes Yes Yes Yes No Yes Yes Yes Yes No[7] No[7]
§Atomics.exchange MDN (Mozilla Development Network) logo cYes Yes Yes Yes No Yes Yes Yes Yes No[7] No[7]
§Atomics.wait MDN (Mozilla Development Network) logo cYes Yes Yes Yes No Yes Yes Yes Yes No[7] No[7]
§Atomics.wake MDN (Mozilla Development Network) logo cNo Yes Yes Yes No Yes No Yes Yes No[7] No[7]
§Atomics.isLockFree MDN (Mozilla Development Network) logo cYes Yes Yes Yes No Yes Yes Yes Yes No[7] No[7]
§Atomics.load MDN (Mozilla Development Network) logo cYes Yes Yes Yes No Yes Yes Yes Yes No[7] No[7]
§Atomics.or MDN (Mozilla Development Network) logo cYes Yes Yes Yes No Yes Yes Yes Yes No[7] No[7]
§Atomics.store MDN (Mozilla Development Network) logo cYes Yes Yes Yes No Yes Yes Yes Yes No[7] No[7]
§Atomics.sub MDN (Mozilla Development Network) logo cYes Yes Yes Yes No Yes Yes Yes Yes No[7] No[7]
§Atomics.xor MDN (Mozilla Development Network) logo cYes Yes Yes Yes No Yes Yes Yes Yes No[7] No[7]
2017 misc
§RegExp "u" flag, case foldingcYes No No No Yes No No Yes Yes Yes Yes
§arguments.caller removed MDN (Mozilla Development Network) logo cYes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
2017 annex b
§Object.prototype getter/setter methods16/16 16/16 16/16 16/16 16/16 16/16 16/16 16/16 16/16 16/16 16/16
§__defineGetter__ MDN (Mozilla Development Network) logo cYes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§__defineGetter__, symbolscYes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§__defineGetter__, ToObject(this)cYes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§__defineSetter__ MDN (Mozilla Development Network) logo cYes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§__defineSetter__, symbolscYes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§__defineSetter__, ToObject(this)cYes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§__lookupGetter__ MDN (Mozilla Development Network) logo cYes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§__lookupGetter__, prototype chaincYes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§__lookupGetter__, symbolscYes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§__lookupGetter__, ToObject(this)cYes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§__lookupGetter__, data properties can shadow accessorscYes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§__lookupSetter__ MDN (Mozilla Development Network) logo cYes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§__lookupSetter__, prototype chaincYes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§__lookupSetter__, symbolscYes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§__lookupSetter__, ToObject(this)cYes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§__lookupSetter__, data properties can shadow accessorscYes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§Proxy internal calls, getter/setter methods4/4 4/4 4/4 4/4 4/4 4/4 4/4 4/4 4/4 4/4 4/4
§__defineGetter__cYes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§__defineSetter__cYes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§__lookupGetter__cYes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§__lookupSetter__cYes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§assignments allowed in for-in head in non-strict mode MDN (Mozilla Development Network) logo cYes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
2018 features
§object rest/spread properties2/2 2/2 2/2 2/2 2/2 2/2 2/2 2/2 2/2 2/2 2/2
§object rest propertiescYes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§object spread propertiescYes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§Promise.prototype.finally MDN (Mozilla Development Network) logo 3/3 3/3 3/3 3/3 3/3 2/3 3/3 3/3 3/3 3/3 3/3
§basic supportcYes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§don't change resolution valuecYes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§change rejection valuecYes Yes Yes Yes Yes No Yes Yes Yes Yes Yes
§s (dotAll) flag for regular expressions MDN (Mozilla Development Network) logo cYes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§RegExp named capture groups MDN (Mozilla Development Network) logo cYes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§RegExp Lookbehind Assertions MDN (Mozilla Development Network) logo cYes Yes Yes Yes No Yes Yes Yes Yes No No
§RegExp Unicode Property Escapes MDN (Mozilla Development Network) logo cYes No No No Yes No No Yes Yes Yes Yes
§Asynchronous Iterators2/2 2/2 2/2 2/2 2/2 2/2 2/2 2/2 2/2 2/2 2/2
§async generatorscYes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§for-await-of loops MDN (Mozilla Development Network) logo cYes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
2018 misc
§Proxy "ownKeys" handler, duplicate keys for non-extensible targets MDN (Mozilla Development Network) logo cYes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§template literal revisioncYes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
2019 features
§Object.fromEntries MDN (Mozilla Development Network) logo cYes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§string trimming4/4 4/4 4/4 4/4 4/4 4/4 4/4 4/4 4/4 4/4 4/4
§String.prototype.trimLeft MDN (Mozilla Development Network) logo cYes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§String.prototype.trimRight MDN (Mozilla Development Network) logo cYes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§String.prototype.trimStart MDN (Mozilla Development Network) logo cYes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§String.prototype.trimEnd MDN (Mozilla Development Network) logo cYes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§Array.prototype.{flat, flatMap}[8]3/3 3/3 3/3 3/3 3/3 3/3 3/3 3/3 3/3 3/3 3/3
§Array.prototype.flat MDN (Mozilla Development Network) logo cYes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§Array.prototype.flatMap MDN (Mozilla Development Network) logo cYes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§flat and flatMap in Array.prototype[@@unscopables]cYes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
2019 misc
§optional catch binding3/3 3/3 3/3 3/3 3/3 3/3 3/3 3/3 3/3 3/3 3/3
§basiccYes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§awaitcYes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§yieldcYes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§Symbol.prototype.description MDN (Mozilla Development Network) logo 3/3 3/3 3/3 3/3 3/3 3/3 3/3 3/3 3/3 3/3 3/3
§basiccYes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§empty descriptioncYes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§undefined descriptioncYes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§Function.prototype.toString revision MDN (Mozilla Development Network) logo 7/7 7/7 7/7 7/7 4/7 7/7 7/7 7/7 7/7 4/7 4/7
§functions created with the Function constructorcYes Yes Yes Yes No Yes Yes Yes Yes ? ?
§arrowscYes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§[native code]cYes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§class expression with implicit constructorcYes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§class expression with explicit constructorcYes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§unicode escape sequences in identifierscYes Yes Yes Yes No Yes Yes Yes Yes ? ?
§methods and computed property namescYes Yes Yes Yes No Yes Yes Yes Yes ? ?
§JSON superset2/2 2/2 2/2 2/2 2/2 2/2 2/2 2/2 2/2 2/2 2/2
§LINE SEPARATOR can appear in string literalscYes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§PARAGRAPH SEPARATOR can appear in string literalscYes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§Well-formed JSON.stringify MDN (Mozilla Development Network) logo cYes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
2020 features
§String.prototype.matchAll MDN (Mozilla Development Network) logo 2/2 2/2 2/2 2/2 1/2 2/2 2/2 2/2 2/2 2/2 2/2
§basic functionalitycYes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§throws on non-global regexcYes Yes Yes Yes No Yes Yes Yes Yes Yes Yes
§BigInt MDN (Mozilla Development Network) logo 8/8 8/8 8/8 8/8 0/8 8/8 8/8 8/8 8/8 4/8 8/8
§basic functionalitycYes Yes Yes Yes No Yes Yes Yes Yes Yes Yes
§constructorcYes Yes Yes Yes No Yes Yes Yes Yes Yes Yes
§BigInt.asUintNcYes Yes Yes Yes No Yes Yes Yes Yes Yes Yes
§BigInt.asIntNcYes Yes Yes Yes No Yes Yes Yes Yes Yes Yes
§BigInt64ArraycYes Yes Yes Yes No Yes Yes Yes Yes ? Yes
§BigUint64ArraycYes Yes Yes Yes No Yes Yes Yes Yes ? Yes
§DataView.prototype.getBigInt64cYes Yes Yes Yes No Yes Yes Yes Yes ? Yes
§DataView.prototype.getBigUint64cYes Yes Yes Yes No Yes Yes Yes Yes ? Yes
§Promise.allSettled MDN (Mozilla Development Network) logo cYes ? ? ? ? ? ? Yes Yes Yes Yes
§globalThis MDN (Mozilla Development Network) logo 2/2 2/2 2/2 2/2 2/2 2/2 2/2 2/2 2/2 2/2 2/2
§"globalThis" global property is global objectcYes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§"globalThis" global property has correct property descriptorcYes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§optional chaining operator (?.) MDN (Mozilla Development Network) logo 5/5 4/5 4/5 4/5 0/5 4/5 4/5 4/5 4/5 5/5 5/5
§optional property accesscYes Yes Yes Yes No Yes Yes Yes Yes Yes Yes
§optional bracket accesscYes Yes Yes Yes No Yes Yes Yes Yes Yes Yes
§optional method callcYes Yes Yes Yes No Yes Yes Yes Yes Yes Yes
§optional function callcYes Yes Yes Yes No Yes Yes Yes Yes Yes Yes
§spread parameters after optional chainingcYes No No No No No No No No Yes Yes
§nullish coalescing operator (??) MDN (Mozilla Development Network) logo cYes Yes Yes Yes No Yes Yes Yes Yes Yes Yes
2021 features
§String.prototype.replaceAll MDN (Mozilla Development Network) logo cYes No No No No No Yes Yes Yes Yes Yes
§Promise.any MDN (Mozilla Development Network) logo 2/2 0/2 0/2 0/2 0/2 0/2 2/2 2/2 2/2 2/2 2/2
§fulfillmentcYes No No No No No Yes Yes Yes Yes Yes
§AggregateErrorcYes No No No No No Yes Yes Yes Yes Yes
§WeakReferences2/2 0/2 0/2 0/2 0/2 2/2 2/2 2/2 2/2 2/2 2/2
§WeakRef minimal supportcYes No No No No Yes Yes Yes Yes Yes Yes
§FinalizationRegistry minimal supportcYes No No No No Yes Yes Yes Yes Yes Yes
§Logical Assignment9/9 0/9 0/9 0/9 0/9 0/9 9/9 9/9 9/9 9/9 9/9
§||= basic supportcYes No No No No No Yes Yes Yes Yes Yes
§||= short-circuiting behaviourcYes No No No No No Yes Yes Yes Yes Yes
§||= setter not unecessarily invokedcYes No No No No No Yes Yes Yes Yes Yes
§&&= basic supportcYes No No No No No Yes Yes Yes Yes Yes
§&&= short-circuiting behaviourcYes No No No No No Yes Yes Yes Yes Yes
§&&= setter not unecessarily invokedcYes No No No No No Yes Yes Yes Yes Yes
§??= basic supportcYes No No No No No Yes Yes Yes Yes Yes
§??= short-circuiting behaviourcYes No No No No No Yes Yes Yes Yes Yes
§??= setter not unecessarily invokedcYes No No No No No Yes Yes Yes Yes Yes
§numeric separatorscYes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
Thanks to Kangax, webspacedspace, zloirock and the rest of the people who contributed to Kangax ES Compatibility Table

This site uses the base of the awesome compat-table and adds all the code to handle the additional testing on the NativeScript runtimes, and ability to export the data and collate it back to these tables...

[1] TC39 meeting notes from July 28, 2015.

[2] 'Semantics of yield* in throw case' GitHub issue in ECMA-262 repo.

[3] TC39 meeting notes from July 29, 2015.

[4] TC39 meeting notes from July 28, 2015.

[5] TC39 meeting notes from July 28, 2015.

[6] 'Normative: Remove [[Enumerate]] and associated reflective capabilities' GitHub Pull Request in ECMA-262 repo.

[7] The feature was temporarily disabled to mitigate the Meltdown and Spectre CPU bugs.

[8] Name of Array.prototype.flatten() changed to Array.prototype.flat() due to web compatibility issues.