Skip to content

Commit 66dbd9a

Browse files
authored
(DOCSP-12450): JS Compatibility Table
1 parent 2a24f85 commit 66dbd9a

File tree

2 files changed

+159
-2
lines changed

2 files changed

+159
-2
lines changed

source/functions.txt

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,8 +68,8 @@ Constraints
6868
- Function memory usage is limited to 256MB.
6969

7070
- Functions support most commonly used ES6+ features, but some features that are
71-
uncommon or unsuited to serverless workloads are not supported (e.g.
72-
``WeakSet``, ``Proxy``, ``Array.prototype.flat()``).
71+
uncommon or unsuited to serverless workloads are not supported. For more
72+
information, see :ref:`JavaScript Feature Compatibility <js-feature-compat>`.
7373

7474
- A function may open a maximum of 5 sockets using the :nodejs:`net
7575
<docs/v10.18.1/api/net.html>` built-in module.
@@ -207,6 +207,9 @@ Reference Documentation
207207
* - :doc:`Built-In Module Support </functions/built-in-module-support>`
208208
- Details which standard Node modules and APIs are available in {+service-short+} functions.
209209

210+
* - :doc:`JavaScript Feature Compatibility </functions/js-feature-compatibility>`
211+
- Details the JavaScript syntax and built-ins that are available in {+service-short+} functions.
212+
210213

211214
.. toctree::
212215
:titlesonly:
@@ -234,3 +237,4 @@ Reference Documentation
234237
Function Context Reference </functions/context>
235238
Utility Packages </functions/utilities>
236239
JSON & BSON </functions/json-and-bson>
240+
JavaScript Feature Compatibility </functions/js-feature-compatibility>
Lines changed: 153 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,153 @@
1+
.. _js-feature-compat:
2+
3+
================================
4+
JavaScript Feature Compatibility
5+
================================
6+
7+
.. default-domain:: mongodb
8+
9+
.. contents:: On this page
10+
:local:
11+
:backlinks: none
12+
:depth: 2
13+
:class: singlecol
14+
15+
Overview
16+
--------
17+
18+
{+service+} :doc:`functions </functions>` fully support JavaScript ES5 syntax as
19+
well as most modern JavaScript features included in EcmaScript 2015 (ES6) and
20+
more recent releases. This page outlines Realm's support for a non-exhaustive
21+
list of features released in or since EcmaScript 2015.
22+
23+
Syntax
24+
------
25+
26+
.. list-table::
27+
:header-rows: 1
28+
:widths: 80 20
29+
30+
* - Feature
31+
- Supported
32+
33+
* - :mdn:`arrow function expressions <Web/JavaScript/Reference/Functions/Arrow_functions>`
34+
- Yes
35+
36+
* - :mdn:`classes <Web/JavaScript/Reference/Classes>`
37+
- Yes
38+
39+
* - :mdn:`super <Web/JavaScript/Reference/Operators/super>`
40+
- Yes
41+
42+
* - :mdn:`generators <Web/JavaScript/Reference/Statements/function*>`
43+
- Yes
44+
45+
* - :mdn:`default function parameters <Web/JavaScript/Reference/Functions/Default_parameters>`
46+
- Yes
47+
48+
* - :mdn:`rest parameters <Web/JavaScript/Reference/Functions/rest_parameters>`
49+
- Yes
50+
51+
* - :mdn:`spread iterables <Web/JavaScript/Reference/Operators/Spread_syntax>`
52+
- Yes
53+
54+
* - :mdn:`object literal extensions <Web/JavaScript/Reference/Operators/Object_initializer#New_notations_in_ECMAScript_2015>`
55+
- Yes
56+
57+
* - :mdn:`for...of loops <Web/JavaScript/Reference/Statements/for...of>`
58+
- Yes
59+
60+
* - :mdn:`for await...of loops <Web/JavaScript/Reference/Statements/for-await...of>`
61+
- Yes
62+
63+
* - :mdn:`octal and binary literals <Web/JavaScript/Reference/Lexical_grammar#Binary>`
64+
- Yes
65+
66+
* - :mdn:`template literals <Web/JavaScript/Reference/Template_literals>`
67+
- Yes
68+
69+
* - :mdn:`destructuring assignment <Web/JavaScript/Reference/Operators/Destructuring_assignment>`
70+
- Yes
71+
72+
* - :mdn:`new.target <Web/JavaScript/Reference/Operators/new.target>`
73+
- Yes
74+
75+
* - :mdn:`RegExp -y and -u flags <Web/JavaScript/Guide/Regular_Expressions#Advanced_searching_with_flags_2>`
76+
- No
77+
78+
* - :mdn:`Exponentiation (**) <Web/JavaScript/Reference/Operators/Exponentiation>`
79+
- Yes
80+
81+
Built-In Objects
82+
----------------
83+
84+
.. list-table::
85+
:header-rows: 1
86+
:widths: 80 20
87+
88+
* - Feature
89+
- Supported
90+
91+
* - :mdn:`TypedArray <Web/JavaScript/Reference/Global_Objects/TypedArray>`
92+
- Yes
93+
94+
* - :mdn:`Map <Web/JavaScript/Reference/Global_Objects/Map>`
95+
- Yes
96+
97+
* - :mdn:`Set <Web/JavaScript/Reference/Global_Objects/Set>`
98+
- Yes
99+
100+
* - :mdn:`WeakMap <Web/JavaScript/Reference/Global_Objects/WeakMap>`
101+
- Yes
102+
103+
* - :mdn:`WeakSet <Web/JavaScript/Reference/Global_Objects/WeakSet>`
104+
- No
105+
106+
* - :mdn:`Proxy <Web/JavaScript/Reference/Global_Objects/Proxy>`
107+
- No
108+
109+
* - :mdn:`Reflect <Web/JavaScript/Reference/Global_Objects/Reflect>`
110+
- No
111+
112+
* - :mdn:`Promise <Web/JavaScript/Reference/Global_Objects/Promise>`
113+
- Yes
114+
115+
* - :mdn:`Symbol <Web/JavaScript/Reference/Global_Objects/Symbol>`
116+
- Yes
117+
118+
Built-In Object Methods & Properties
119+
------------------------------------
120+
121+
.. list-table::
122+
:header-rows: 1
123+
:widths: 80 20
124+
125+
* - Feature
126+
- Supported
127+
128+
* - :mdn:`Object static methods <Web/JavaScript/Reference/Global_Objects/Object#Static_methods>`
129+
- Yes
130+
131+
* - :mdn:`String static methods <Web/JavaScript/Reference/Global_Objects/String#Static_methods>`
132+
- Yes
133+
134+
* - :mdn:`String.prototype methods <Web/JavaScript/Reference/Global_Objects/String#Instance_methods>`
135+
- Yes
136+
137+
* - :mdn:`RegExp.prototype properties <Web/JavaScript/Reference/Global_Objects/RegExp#Instance_properties>`
138+
- No
139+
140+
* - :mdn:`Function.name <Web/JavaScript/Reference/Global_Objects/Function/name>`
141+
- Yes
142+
143+
* - :mdn:`Array static methods <Web/JavaScript/Reference/Global_Objects/Array#Static_methods>`
144+
- Yes
145+
146+
* - :mdn:`Array.prototype methods <Web/JavaScript/Reference/Global_Objects/Array#Instance_methods>`
147+
- Yes
148+
149+
* - :mdn:`Number static methods <Web/JavaScript/Reference/Global_Objects/Number#Static_methods>`
150+
- No
151+
152+
* - :mdn:`Math methods <Web/JavaScript/Reference/Global_Objects/Math#Static_methods>`
153+
- No

0 commit comments

Comments
 (0)