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 | |
Candidate (stage 3) | ||||||||||||
§instance class fields | 5/6 | 5/6 | 5/6 | 0/6 | 6/6 | 6/6 | 6/6 | 6/6 | 6/6 | 6/6 | ||
§public instance class fields | Yes | Yes | Yes | No | Yes | Yes | Yes | Yes | Yes | Yes | ||
§private instance class fields basic support | Yes | Yes | Yes | No | Yes | Yes | Yes | Yes | Yes | Yes | ||
§private instance class fields initializers | Yes | Yes | Yes | No | Yes | Yes | Yes | Yes | Yes | Yes | ||
§optional private instance class fields access | No | No | No | No | Yes | Yes | Yes | Yes | Yes | Yes | ||
§optional deep private instance class fields access | Yes | Yes | Yes | No | Yes | Yes | Yes | Yes | Yes | Yes | ||
§computed instance class fields | Yes | Yes | Yes | No | Yes | Yes | Yes | Yes | Yes | Yes | ||
§static class fields | 3/3 | 3/3 | 3/3 | 0/3 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 | ||
§public static class fields | Yes | Yes | Yes | No | Yes | Yes | Yes | Yes | Yes | Yes | ||
§private static class fields | Yes | Yes | Yes | No | Yes | Yes | Yes | Yes | Yes | Yes | ||
§computed static class fields | Yes | Yes | Yes | No | Yes | Yes | Yes | Yes | Yes | Yes | ||
§private class methods | 0/4 | 0/4 | 0/4 | 0/4 | 4/4 | 4/4 | 4/4 | 4/4 | 0/4 | 0/4 | ||
§private instance methods | No | No | No | No | Yes | Yes | Yes | Yes | No | No | ||
§private static methods | No | No | No | No | Yes | Yes | Yes | Yes | No | No | ||
§private accessor properties | No | No | No | No | Yes | Yes | Yes | Yes | No | No | ||
§private static accessor properties | No | No | No | No | Yes | Yes | Yes | Yes | No | No | ||
§Legacy RegExp features in JavaScript | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 | ||
§RegExp "lastMatch" | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ||
§RegExp.$1-$9 | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ||
§Hashbang Grammar | Yes | Yes | Yes | No | Yes | Yes | Yes | Yes | Yes | Yes | ||
§.at() method on the built-in indexables | 0/3 | 0/3 | 0/3 | 0/3 | 0/3 | 0/3 | 0/3 | 0/3 | 3/3 | 0/3 | ||
§Array.prototype.at() | No | No | No | No | No | No | No | No | Yes | Flag[1] | ||
§String.prototype.at() | No | No | No | No | No | No | No | No | Yes | Flag[1] | ||
§%TypedArray%.prototype.at() | No | No | No | No | No | No | No | No | Yes | Flag[1] | ||
§Class static initialization blocks | No | No | No | No | No | No | No | No | ? | ? | ||
Draft (stage 2) | ||||||||||||
§Generator function.sent Meta Property | No | No | No | No | No | No | No | No | ? | ? | ||
§Class and Property Decorators | 0/1 | 0/1 | 0/1 | 0/1 | 0/1 | 0/1 | 0/1 | 0/1 | 0/1 | 0/1 | ||
§class decorators | No | No | No | No | No | No | No | No | ? | ? | ||
§Realms | No | No | No | No | No | No | No | No | ? | ? | ||
§throw expressions | 0/4 | 0/4 | 0/4 | 0/4 | 0/4 | 0/4 | 0/4 | 0/4 | 0/4 | 0/4 | ||
§logical | No | No | No | No | No | No | No | No | ? | ? | ||
§parameter initializers | No | No | No | No | No | No | No | No | ? | ? | ||
§arrow function bodies | No | No | No | No | No | No | No | No | ? | ? | ||
§conditionals | No | No | No | No | No | No | No | No | ? | ? | ||
§Set methods | 0/7 | 0/7 | 0/7 | 0/7 | 0/7 | 0/7 | 0/7 | 0/7 | 0/7 | 0/7 | ||
§Set.prototype.intersection | No | No | No | No | No | No | No | No | ? | ? | ||
§Set.prototype.union | No | No | No | No | No | No | No | No | ? | ? | ||
§Set.prototype.difference | No | No | No | No | No | No | No | No | ? | ? | ||
§Set.prototype.symmetricDifference | No | No | No | No | No | No | No | No | ? | ? | ||
§Set.prototype.isDisjointFrom | No | No | No | No | No | No | No | No | ? | ? | ||
§Set.prototype.isSubsetOf | No | No | No | No | No | No | No | No | ? | ? | ||
§Set.prototype.isSupersetOf | No | No | No | No | No | No | No | No | ? | ? | ||
§ArrayBuffer.prototype.transfer | 0/2 | 0/2 | 0/2 | 0/2 | 0/2 | 0/2 | 0/2 | 0/2 | 0/2 | 0/2 | ||
§ArrayBuffer.prototype.transfer() | No | No | No | No | No | No | No | No | No | No | ||
§ArrayBuffer.prototype.realloc() | No | No | No | No | No | No | No | No | No | No | ||
§Map.prototype.upsert | 0/2 | 0/2 | 0/2 | 0/2 | 0/2 | 0/2 | 0/2 | 0/2 | 0/2 | 0/2 | ||
§Map.prototype.upsert | No | No | No | No | No | No | No | No | ? | ? | ||
§WeakMap.prototype.upsert | No | No | No | No | No | No | No | No | ? | ? | ||
§Array.isTemplateObject | No | No | No | No | No | No | No | No | ? | ? | ||
§Iterator Helpers | 0/35 | 0/35 | 0/35 | 0/35 | 0/35 | 0/35 | 0/35 | 0/35 | 0/35 | 0/35 | ||
§instanceof Iterator | No | No | No | No | No | No | No | No | ? | ? | ||
§extends Iterator | No | No | No | No | No | No | No | No | ? | ? | ||
§Iterator.from, iterable | No | No | No | No | No | No | No | No | ? | ? | ||
§Iterator.from, iterator | No | No | No | No | No | No | No | No | ? | ? | ||
§Iterator.prototype.asIndexedPairs | No | No | No | No | No | No | No | No | ? | ? | ||
§Iterator.prototype.drop | No | No | No | No | No | No | No | No | ? | ? | ||
§Iterator.prototype.every | No | No | No | No | No | No | No | No | ? | ? | ||
§Iterator.prototype.filter | No | No | No | No | No | No | No | No | ? | ? | ||
§Iterator.prototype.find | No | No | No | No | No | No | No | No | ? | ? | ||
§Iterator.prototype.flatMap | No | No | No | No | No | No | No | No | ? | ? | ||
§Iterator.prototype.forEach | No | No | No | No | No | No | No | No | ? | ? | ||
§Iterator.prototype.map | No | No | No | No | No | No | No | No | ? | ? | ||
§Iterator.prototype.reduce | No | No | No | No | No | No | No | No | ? | ? | ||
§Iterator.prototype.some | No | No | No | No | No | No | No | No | ? | ? | ||
§Iterator.prototype.take | No | No | No | No | No | No | No | No | ? | ? | ||
§Iterator.prototype.toArray | No | No | No | No | No | No | No | No | ? | ? | ||
§Iterator.prototype[@@toStringTag] | No | No | No | No | No | No | No | No | ? | ? | ||
§instanceof AsyncIterator | No | No | No | No | No | No | No | No | ? | ? | ||
§extends AsyncIterator | No | No | No | No | No | No | No | No | ? | ? | ||
§AsyncIterator.from, async iterable | No | No | No | No | No | No | No | No | ? | ? | ||
§AsyncIterator.from, iterable | No | No | No | No | No | No | No | No | ? | ? | ||
§AsyncIterator.from, iterator | No | No | No | No | No | No | No | No | ? | ? | ||
§AsyncIterator.prototype.asIndexedPairs | No | No | No | No | No | No | No | No | ? | ? | ||
§AsyncIterator.prototype.drop | No | No | No | No | No | No | No | No | ? | ? | ||
§AsyncIterator.prototype.every | No | No | No | No | No | No | No | No | ? | ? | ||
§AsyncIterator.prototype.filter | No | No | No | No | No | No | No | No | ? | ? | ||
§AsyncIterator.prototype.find | No | No | No | No | No | No | No | No | ? | ? | ||
§AsyncIterator.prototype.flatMap | No | No | No | No | No | No | No | No | ? | ? | ||
§AsyncIterator.prototype.forEach | No | No | No | No | No | No | No | No | ? | ? | ||
§AsyncIterator.prototype.map | No | No | No | No | No | No | No | No | ? | ? | ||
§AsyncIterator.prototype.reduce | No | No | No | No | No | No | No | No | ? | ? | ||
§AsyncIterator.prototype.some | No | No | No | No | No | No | No | No | ? | ? | ||
§AsyncIterator.prototype.take | No | No | No | No | No | No | No | No | ? | ? | ||
§AsyncIterator.prototype.toArray | No | No | No | No | No | No | No | No | ? | ? | ||
§AsyncIterator.prototype[@@toStringTag] | No | No | No | No | No | No | No | No | ? | ? |
[1] The feature has to be enabled via jscOptions=--useAtMethod=true
flag.