Mercurial > hg > nginx-site
comparison xml/en/docs/njs/compatibility.xml @ 2245:87a0e2c73a25
Refactored njs documentation.
author | Yaroslav Zhuravlev <yar@nginx.com> |
---|---|
date | Mon, 24 Sep 2018 19:10:29 +0300 |
parents | |
children | b001d6903fc1 |
comparison
equal
deleted
inserted
replaced
2244:467aef18bf12 | 2245:87a0e2c73a25 |
---|---|
1 <?xml version="1.0"?> | |
2 | |
3 <!-- | |
4 Copyright (C) Nginx, Inc. | |
5 --> | |
6 | |
7 <!DOCTYPE article SYSTEM "../../../../dtd/article.dtd"> | |
8 | |
9 <article name="Compatibility" | |
10 link="/en/docs/njs/compatibility.html" | |
11 lang="en" | |
12 rev="1"> | |
13 | |
14 <section> | |
15 | |
16 <para> | |
17 njs is created in compliance with | |
18 <link url="http://www.ecma-international.org/ecma-262/5.1/">ECMAScript 5.1</link> | |
19 (strict mode) with some | |
20 <link url="http://www.ecma-international.org/ecma-262/6.0/">ECMAScript 6</link> | |
21 and later extensions. | |
22 The compliance is still evolving. | |
23 </para> | |
24 | |
25 </section> | |
26 | |
27 | |
28 <section id="supported" name="What is currently supported"> | |
29 | |
30 <para> | |
31 <list type="bullet"> | |
32 | |
33 <listitem> | |
34 Boolean values, numbers, strings, objects, arrays, | |
35 functions, and regular expressions | |
36 </listitem> | |
37 | |
38 <listitem> | |
39 ES5.1 operators, ES7 exponentiation operators | |
40 </listitem> | |
41 | |
42 <listitem> | |
43 ES5.1 statements: <literal>var</literal>, <literal>if</literal>, | |
44 <literal>else</literal>, <literal>switch</literal>, <literal>for</literal>, | |
45 <literal>for in</literal>, <literal>while</literal>, | |
46 <literal>do while</literal>, <literal>break</literal>, | |
47 <literal>continue</literal>, <literal>return</literal>, <literal>try</literal>, | |
48 <literal>catch</literal>, <literal>throw</literal>, <literal>finally</literal> | |
49 </listitem> | |
50 | |
51 <listitem> | |
52 ES6 <literal>Number</literal> and | |
53 <literal>Math</literal> properties and methods | |
54 </listitem> | |
55 | |
56 <listitem> | |
57 <literal>String</literal> methods: | |
58 <list type="bullet"> | |
59 | |
60 <listitem> | |
61 ES5.1: | |
62 <literal>fromCharCode</literal>, <literal>concat</literal>, | |
63 <literal>slice</literal>, <literal>substring</literal>, | |
64 <literal>substr</literal>, <literal>charAt</literal>, | |
65 <literal>charCodeAt</literal>, <literal>indexOf</literal>, | |
66 <literal>lastIndexOf</literal>, <literal>toLowerCase</literal>, | |
67 <literal>toUpperCase</literal>, <literal>trim</literal>, | |
68 <literal>search</literal>, <literal>match</literal>, <literal>split</literal>, | |
69 <literal>replace</literal> | |
70 </listitem> | |
71 | |
72 <listitem> | |
73 ES6: | |
74 <literal>fromCodePoint</literal>, <literal>codePointAt</literal>, | |
75 <literal>includes</literal>, <literal>startsWith</literal>, | |
76 <literal>endsWith</literal>, <literal>repeat</literal> | |
77 </listitem> | |
78 | |
79 <listitem> | |
80 non-standard: | |
81 <literal>bytesFrom</literal> (0.2.3) | |
82 <literal>fromUTF8</literal>, <literal>toUTF8</literal>, | |
83 <literal>fromBytes</literal>, <literal>toBytes</literal> | |
84 </listitem> | |
85 </list> | |
86 | |
87 </listitem> | |
88 | |
89 <listitem> | |
90 <literal>Object</literal> methods: | |
91 <list type="bullet"> | |
92 <listitem> | |
93 ES5.1: | |
94 <literal>create</literal> (support without properties list), | |
95 <literal>keys</literal>, | |
96 <literal>defineProperty</literal>, | |
97 <literal>defineProperties</literal>, | |
98 <literal>getOwnPropertyDescriptor</literal>, | |
99 <literal>getPrototypeOf</literal>, | |
100 <literal>hasOwnProperty</literal>, | |
101 <literal>isPrototypeOf</literal>, | |
102 <literal>preventExtensions</literal>, | |
103 <literal>isExtensible</literal>, | |
104 <literal>freeze</literal>, | |
105 <literal>isFrozen</literal>, | |
106 <literal>seal</literal>, | |
107 <literal>isSealed</literal> | |
108 </listitem> | |
109 </list> | |
110 | |
111 </listitem> | |
112 | |
113 <listitem> | |
114 <literal>Array</literal> methods: | |
115 <list type="bullet"> | |
116 <listitem> | |
117 ES5.1: | |
118 <literal>isArray</literal>, <literal>slice</literal>, <literal>splice</literal>, | |
119 <literal>push</literal>, <literal>pop</literal>, <literal>unshift</literal>, | |
120 <literal>shift</literal>, <literal>reverse</literal>, <literal>sort</literal>, | |
121 <literal>join</literal>, <literal>concat</literal>, <literal>indexOf</literal>, | |
122 <literal>lastIndexOf</literal>, <literal>forEach</literal>, | |
123 <literal>some</literal>, <literal>every</literal>, <literal>filter</literal>, | |
124 <literal>map</literal>, <literal>reduce</literal>, | |
125 <literal>reduceRight</literal> | |
126 </listitem> | |
127 | |
128 <listitem> | |
129 ES6: | |
130 <literal>of</literal>, <literal>fill</literal>, <literal>find</literal>, | |
131 <literal>findIndex</literal> | |
132 </listitem> | |
133 | |
134 <listitem> | |
135 ES7: <literal>includes</literal> | |
136 </listitem> | |
137 </list> | |
138 | |
139 </listitem> | |
140 | |
141 <listitem> | |
142 ES5.1 <literal>Function</literal> methods: | |
143 <literal>call</literal>, <literal>apply</literal>, <literal>bind</literal> | |
144 </listitem> | |
145 | |
146 <listitem> | |
147 ES5.1 <literal>RegExp</literal> methods: | |
148 <literal>test</literal>, <literal>exec</literal> | |
149 </listitem> | |
150 | |
151 <listitem> | |
152 ES5.1 <literal>Date</literal> methods | |
153 </listitem> | |
154 | |
155 <listitem> | |
156 ES5.1 <literal>JSON</literal> object | |
157 </listitem> | |
158 | |
159 <listitem> | |
160 ES5.1 global functions: | |
161 <literal>isFinite</literal>, <literal>isNaN</literal>, | |
162 <literal>parseFloat</literal>, <literal>parseInt</literal>, | |
163 <literal>decodeURI</literal>, <literal>decodeURIComponent</literal>, | |
164 <literal>encodeURI</literal>, <literal>encodeURIComponent</literal> | |
165 </listitem> | |
166 | |
167 <listitem> | |
168 <literal>Error</literal> objects: | |
169 <literal>Error</literal>, <literal>EvalError</literal>, | |
170 <literal>InternalError</literal>, <literal>RangeError</literal>, | |
171 <literal>ReferenceError</literal>, <literal>SyntaxError</literal>, | |
172 <literal>TypeError</literal>, <literal>URIError</literal> | |
173 </listitem> | |
174 | |
175 <listitem> | |
176 <literal>setTimeout()</literal> and <literal>clearTimeout()</literal> functions | |
177 (0.2.0) | |
178 </listitem> | |
179 | |
180 <listitem> | |
181 <link url="https://nodejs.org/api/fs.html#fs_file_system">Node.js style</link> | |
182 <literal>File system</literal> methods: | |
183 <literal>fs.readFile</literal>, <literal>fs.readFileSync</literal>, | |
184 <literal>fs.appendFile</literal>, <literal>fs.appendFileSync</literal>, | |
185 <literal>fs.writeFile</literal>, <literal>fs.writeFileSync</literal> | |
186 </listitem> | |
187 | |
188 <listitem> | |
189 <link url="https://nodejs.org/api/crypto.html#crypto_class_hash">Node.js style</link> | |
190 <literal>Crypto</literal> methods (0.2.0): | |
191 <literal>crypto.createHash</literal>, | |
192 <literal>crypto.createHmac</literal> | |
193 | |
194 </listitem> | |
195 | |
196 </list> | |
197 </para> | |
198 | |
199 </section> | |
200 | |
201 | |
202 <section id="not_supported" name="What is not supported yet"> | |
203 | |
204 <para> | |
205 <list type="bullet"> | |
206 | |
207 <listitem> | |
208 ES6 <literal>let</literal> and <literal>const</literal> declarations | |
209 </listitem> | |
210 | |
211 <listitem> | |
212 labels | |
213 </listitem> | |
214 | |
215 <listitem> | |
216 <literal>arguments</literal> array | |
217 </listitem> | |
218 | |
219 <listitem> | |
220 <literal>eval</literal> function | |
221 </listitem> | |
222 | |
223 <listitem> | |
224 <literal>new Function()</literal> constructor | |
225 </listitem> | |
226 | |
227 <listitem> | |
228 <literal>setInterval</literal>, | |
229 <literal>setImmediate</literal> functions | |
230 </listitem> | |
231 | |
232 <listitem> | |
233 non-integer fractions (<literal>.235</literal>) | |
234 </listitem> | |
235 | |
236 </list> | |
237 </para> | |
238 | |
239 </section> | |
240 | |
241 </article> | |
242 |