| NativeScript | Desktop browsers | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Feature name | Current browser | NS 6.5 Android v8 |
NS 7.0 Android v8 |
NS 8.0 Android v8 |
NS 6.5 iOS JSC |
NS 7.0 iOS v8 |
NS 8.0 iOS v8 |
CH 89 | CH 90 | SF 14 Beta | SF TP | |
| §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 | ||
| §basic support |
No | No | No | No | No | No | No | No | ? | ? | ||
| §Float32x4 |
No | No | No | No | No | No | No | No | ? | ? | ||
| §Int32x4 |
No | No | No | No | No | No | No | No | ? | ? | ||
| §Int16x8 |
No | No | No | No | No | No | No | No | ? | ? | ||
| §Int8x16 |
No | No | No | No | No | No | No | No | ? | ? | ||
| §Uint32x4 |
No | No | No | No | No | No | No | No | ? | ? | ||
| §Uint16x8 |
No | No | No | No | No | No | No | No | ? | ? | ||
| §Uint8x16 |
No | No | No | No | No | No | No | No | ? | ? | ||
| §Bool32x4 |
No | No | No | No | No | No | No | No | ? | ? | ||
| §Bool16x8 |
No | No | No | No | No | No | No | No | ? | ? | ||
| §Bool8x16 |
No | No | No | No | No | No | No | No | ? | ? | ||
| §SIMD.%floatType%.abs |
No | No | No | No | No | No | No | No | ? | ? | ||
| §SIMD.%type%.add |
No | No | No | No | No | No | No | No | ? | ? | ||
| §SIMD.%integerType%.addSaturate |
No | No | No | No | No | No | No | No | ? | ? | ||
| §SIMD.%type%.and |
No | No | No | No | No | No | No | No | ? | ? | ||
| §SIMD.%booleanType%.anyTrue |
No | No | No | No | No | No | No | No | ? | ? | ||
| §SIMD.%booleanType%.allTrue |
No | No | No | No | No | No | No | No | ? | ? | ||
| §SIMD.%type%.check |
No | No | No | No | No | No | No | No | ? | ? | ||
| §SIMD.%type%.equal |
No | No | No | No | No | No | No | No | ? | ? | ||
| §SIMD.%type%.extractLane |
No | No | No | No | No | No | No | No | ? | ? | ||
| §SIMD.%type%.greaterThan |
No | No | No | No | No | No | No | No | ? | ? | ||
| §SIMD.%type%.greaterThanOrEqual |
No | No | No | No | No | No | No | No | ? | ? | ||
| §SIMD.%type%.lessThan |
No | No | No | No | No | No | No | No | ? | ? | ||
| §SIMD.%type%.lessThanOrEqual |
No | No | No | No | No | No | No | No | ? | ? | ||
| §SIMD.%type%.mul |
No | No | No | No | No | No | No | No | ? | ? | ||
| §SIMD.%floatType%.div |
No | No | No | No | No | No | No | No | ? | ? | ||
| §SIMD.%type%.load |
No | No | No | No | No | No | No | No | ? | ? | ||
| §SIMD.%type%.load1 |
No | No | No | No | No | No | No | No | ? | ? | ||
| §SIMD.%type%.load2 |
No | No | No | No | No | No | No | No | ? | ? | ||
| §SIMD.%type%.load3 |
No | No | No | No | No | No | No | No | ? | ? | ||
| §SIMD.%floatType%.max |
No | No | No | No | No | No | No | No | ? | ? | ||
| §SIMD.%floatType%.maxNum |
No | No | No | No | No | No | No | No | ? | ? | ||
| §SIMD.%floatType%.min |
No | No | No | No | No | No | No | No | ? | ? | ||
| §SIMD.%floatType%.minNum |
No | No | No | No | No | No | No | No | ? | ? | ||
| §SIMD.%type%.neg |
No | No | No | No | No | No | No | No | ? | ? | ||
| §SIMD.%type%.not |
No | No | No | No | No | No | No | No | ? | ? | ||
| §SIMD.%type%.notEqual |
No | No | No | No | No | No | No | No | ? | ? | ||
| §SIMD.%type%.or |
No | No | No | No | No | No | No | No | ? | ? | ||
| §SIMD.%floatType%.reciprocalApproximation |
No | No | No | No | No | No | No | No | ? | ? | ||
| §SIMD.%floatType%.reciprocalSqrtApproximation |
No | No | No | No | No | No | No | No | ? | ? | ||
| §SIMD.%type%.replaceLane |
No | No | No | No | No | No | No | No | ? | ? | ||
| §SIMD.%type%.select |
No | No | No | No | No | No | No | No | ? | ? | ||
| §SIMD.%integerType%.shiftLeftByScalar |
No | No | No | No | No | No | No | No | ? | ? | ||
| §SIMD.%integerType%.shiftRightByScalar |
No | No | No | No | No | No | No | No | ? | ? | ||
| §SIMD.%type%.shuffle |
No | No | No | No | No | No | No | No | ? | ? | ||
| §SIMD.%type%.splat |
No | No | No | No | No | No | No | No | ? | ? | ||
| §SIMD.%floatType%.sqrt |
No | No | No | No | No | No | No | No | ? | ? | ||
| §SIMD.%type%.store |
No | No | No | No | No | No | No | No | ? | ? | ||
| §SIMD.%type%.store1 |
No | No | No | No | No | No | No | No | ? | ? | ||
| §SIMD.%type%.store2 |
No | No | No | No | No | No | No | No | ? | ? | ||
| §SIMD.%type%.store3 |
No | No | No | No | No | No | No | No | ? | ? | ||
| §SIMD.%type%.sub |
No | No | No | No | No | No | No | No | ? | ? | ||
| §SIMD.%integerType%.subSaturate |
No | No | No | No | No | No | No | No | ? | ? | ||
| §SIMD.%type%.swizzle |
No | No | No | No | No | No | No | No | ? | ? | ||
| §SIMD.%type%.xor |
No | No | No | No | No | No | No | No | ? | ? | ||
| §SIMD.%type%.fromTIMDBits |
No | No | No | No | No | No | No | No | ? | ? | ||
| §SIMD.%type%.fromTIMD |
No | No | No | No | No | No | No | No | ? | ? | ||
| §decompilation | 0/4 | 0/4 | 0/4 | 0/4 | 0/4 | 0/4 | 0/4 | 0/4 | 0/4 | 0/4 | ||
| §uneval, existence |
No | No | No | No | No | No | No | No | ? | ? | ||
| §built-in "toSource" methods |
No | No | No | No | No | No | No | No | ? | ? | ||
| §"toSource" method as hook for uneval | No | No | No | No | No | No | No | No | ? | ? | ||
| §eval(uneval(value)) is functionally equivalent to value | No | No | No | No | No | No | No | No | ? | ? | ||
| §optional "scope" argument of "eval" | No | No | No | No | No | No | No | No | ? | ? | ||
| §function "caller" property |
Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ||
| §function "arity" property |
No | No | No | No | No | No | No | No | No | No | ||
| §function "arguments" property |
Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ||
| §Function.prototype.isGenerator |
No | No | No | No | No | No | No | No | No | No | ||
| §class extends null | No | No | No | No | No | No | No | No | No | No | ||
| §__count__ |
No | No | No | No | No | No | No | No | No | No | ||
| §__parent__ |
No | No | No | No | No | No | No | No | No | No | ||
| §__noSuchMethod__ |
No | No | No | No | No | No | No | No | No | No | ||
| §Array generics | No | No | No | No | No | No | No | No | No | No | ||
| §String generics | No | No | No | No | No | No | No | No | No | No | ||
| §Array comprehensions (JS 1.8 style) |
No | No | No | No | No | No | No | No | No | No | ||
| §Array comprehensions (ES draft style) |
No | No | No | No | No | No | No | No | ? | ? | ||
| §Expression closures |
No | No | No | No | No | No | No | No | No | No | ||
| §ECMAScript for XML (E4X) |
No | No | No | No | No | No | No | No | No | No | ||
| §"for each..in" loops |
No | No | No | No | No | No | No | No | No | No | ||
| §Sharp variables |
No | No | No | No | No | No | No | No | No | No | ||
| §Iterator |
No | No | No | No | No | No | No | No | No | No | ||
| §__iterator__ | No | No | No | No | No | No | No | No | No | No | ||
| §Generators (JS 1.8) | No | No | No | No | No | No | No | No | No | No | ||
| §Generator comprehensions (JS 1.8 style) | No | No | No | No | No | No | No | No | No | No | ||
| §Generator comprehensions (ES draft style) | No | No | No | No | No | No | No | No | ? | ? | ||
| §RegExp "x" flag | No | No | No | No | No | No | No | No | No | No | ||
| §Callable RegExp | No | No | No | No | No | No | No | No | No | No | ||
| §RegExp named groups | No | No | No | No | No | No | No | No | No | No | ||
| §String.prototype.quote |
No | No | No | No | No | No | No | No | No | No | ||
| §String.prototype.replace flags |
No | No | No | No | No | No | No | No | ? | ? | ||
| §Date.prototype.toLocaleFormat |
No | No | No | No | No | No | No | No | No | No | ||
| §Date.parse produces NaN for invalid dates | No | No | No | Yes | No | No | No | No | Yes | Yes | ||
| §Object.prototype.watch |
No | No | No | No | No | No | No | No | No | No | ||
| §Object.prototype.unwatch |
No | No | No | No | No | No | No | No | No | No | ||
| §Object.prototype.eval |
No | No | No | No | No | No | No | No | No | No | ||
| §Object.observe |
No | No | No | No | No | No | No | No | ? | ? | ||
| §error "stack" |
Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ||
| §error "lineNumber" |
No | No | No | No | No | No | No | No | No | No | ||
| §error "columnNumber" |
No | No | No | No | No | No | No | No | No | No | ||
| §error "fileName" |
No | No | No | No | No | No | No | No | No | No | ||
| §error "description" | No | No | No | No | No | No | No | No | No | No | ||
| §global | 1/2 | 1/2 | 1/2 | 1/2 | 1/2 | 1/2 | 0/2 | 0/2 | 0/2 | 0/2 | ||
| §"global" global property is global object | Yes | Yes | Yes | Yes | Yes | Yes | No | No | No | No | ||
| §"global" global property has correct property descriptor | No | No | No | No | No | No | No | No | No | No | ||
| §Proxy "ownKeys" handler, duplicate keys for non-extensible targets (ES 2017 semantics)[1] | No | No | No | No | No | No | No | No | No | No | ||
[1] The behaviour of the Proxy “ownKeys” handler in presence of duplicate keys has been modified later.