]> git.saurik.com Git - apple/javascriptcore.git/blob - features.json
JavaScriptCore-7601.1.46.3.tar.gz
[apple/javascriptcore.git] / features.json
1 {
2 "specification": [
3 {
4 "name": "ES6",
5 "url": "http://wiki.ecmascript.org/doku.php?id=harmony:specification_drafts",
6 "keywords": ["es6", "es2015", "ecmascript"]
7 },
8 {
9 "name": "ES7",
10 "url": "https://github.com/tc39/ecma262",
11 "keywords": ["es7", "ecmascript"]
12 }
13 ],
14
15 "features": [
16 {
17 "name": "ASM.js",
18 "status": {
19 "status": "Continuously improving",
20 "enabled-by-default": true
21 },
22 "url": "http://asmjs.org",
23 "description": "ASM.js defines a subset of JavaScript that enforce stronger typing and has specific patterns of memory access. ASM.js is rarely hand-written, it is typically generated from other languages by compiler such as Emscripten.",
24 "comment": "There is no \"use asm\" mode in JavaScriptCore. Instead WebKit integrates ASM.js optimizations directly in the optimizer. As a result, it is possible to mix ASM-style typing with regular code and still get great performance and power efficiency."
25 },
26 {
27 "name": "Array.prototype.copyWithin",
28 "status": {
29 "status": "Done",
30 "enabled-by-default": true
31 },
32 "url": "https://people.mozilla.org/~jorendorff/es6-draft.html#sec-array.prototype.copywithin",
33 "documentation-url": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/copyWithin",
34 "webkit-url": "https://bugs.webkit.org/show_bug.cgi?id=145107",
35 "specification": "ES6",
36 "contact": {
37 "name": "Yusuke Suzuki",
38 "email": "utatane.tea@gmail.com"
39 }
40 },
41 {
42 "name": "Array.prototype.includes",
43 "status": {
44 "status": "Done",
45 "enabled-by-default": true
46 },
47 "url": "https://github.com/tc39/Array.prototype.includes",
48 "documentation-url": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/includes",
49 "webkit-url": "https://bugs.webkit.org/show_bug.cgi?id=142707",
50 "specification": "ES7"
51 },
52 {
53 "name": "Classes",
54 "status": {
55 "status": "Done",
56 "enabled-by-default": true
57 },
58 "url": "https://people.mozilla.org/~jorendorff/es6-draft.html#sec-class-definitions",
59 "documentation-url": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes",
60 "webkit-url": "https://bugs.webkit.org/show_bug.cgi?id=142774",
61 "specification": "ES6",
62 "description": "The new class syntax of ES6 provides a new syntax to define and extend JavaScript objects. The class syntax is a new notation, objects still use prototypal inheritance."
63 },
64 {
65 "name": "Map data structure",
66 "status": {
67 "status": "Done",
68 "enabled-by-default": true
69 },
70 "url": "http://people.mozilla.org/~jorendorff/es6-draft.html#sec-map-constructor",
71 "documentation-url": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map",
72 "webkit-url": "https://bugs.webkit.org/show_bug.cgi?id=120333",
73 "description": "Map provides an <a href=\"https://en.wikipedia.org/wiki/Associative_array\">associative array data</a> structure that maps keys to values.",
74 "specification": "ES6"
75 },
76 {
77 "name": "Number extensions (ES6)",
78 "status": {
79 "status": "Done",
80 "enabled-by-default": true
81 },
82 "url": "http://people.mozilla.org/~jorendorff/es6-draft.html#sec-number-objects",
83 "documentation-url": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number",
84 "webkit-url": "https://bugs.webkit.org/show_bug.cgi?id=131707",
85 "specification": "ES6",
86 "description": "ES6 extend Number with the methods Number.isFinite(), Number.isInteger(), Number.isSafeInteger(), Number.isNaN() and the attributes Number.EPSILON, Number.MIN_SAFE_INTEGER, Number.MAX_SAFE_INTEGER."
87 },
88 {
89 "name": "Octal and binary literals",
90 "status": {
91 "status": "Done",
92 "enabled-by-default": true
93 },
94 "url": "https://people.mozilla.org/~jorendorff/es6-draft.html#sec-literals-numeric-literals",
95 "webkit-url": "https://bugs.webkit.org/show_bug.cgi?id=142681",
96 "specification": "ES6",
97 "description": "New syntax for number literals. Numbers can be provided as binary (e.g. 0b001001) or octal (e.g. 0o24)."
98 },
99 {
100 "name": "Promise Objects",
101 "status": {
102 "status": "Done",
103 "enabled-by-default": true,
104 "shipped": ["ios8-safari", "osx-safari-7.1"]
105 },
106 "url": "https://people.mozilla.org/~jorendorff/es6-draft.html#sec-promise-objects",
107 "documentation-url": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise",
108 "webkit-url": "https://bugs.webkit.org/show_bug.cgi?id=120260",
109 "specification": "ES6"
110 },
111 {
112 "name": "Set data structure",
113 "status": {
114 "status": "Done",
115 "enabled-by-default": true
116 },
117 "url": "https://people.mozilla.org/~jorendorff/es6-draft.html#sec-set-constructor",
118 "documentation-url": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set",
119 "webkit-url": "https://bugs.webkit.org/show_bug.cgi?id=120549",
120 "description": "Set is a collection of unique objects.",
121 "specification": "ES6"
122 },
123 {
124 "name": "Symbol Objects",
125 "status": {
126 "status": "Done",
127 "enabled-by-default": true
128 },
129 "url": "https://people.mozilla.org/~jorendorff/es6-draft.html#sec-symbol-objects",
130 "documentation-url": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol",
131 "webkit-url": "https://bugs.webkit.org/show_bug.cgi?id=140435",
132 "specification": "ES6",
133 "contact": {
134 "name": "Yusuke Suzuki",
135 "email": "utatane.tea@gmail.com"
136 }
137 },
138 {
139 "name": "Tagged templates",
140 "status": {
141 "status": "Done",
142 "enabled-by-default": true
143 },
144 "url": "http://people.mozilla.org/~jorendorff/es6-draft.html#sec-tagged-templates",
145 "documentation-url": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/template_strings",
146 "webkit-url": "https://bugs.webkit.org/show_bug.cgi?id=143183",
147 "description": "The tagged-templates (like String.raw`Hello ${World}`) provides a way to modify the produced string from a given template-literals with a function.",
148 "specification": "ES6",
149 "contact": {
150 "name": "Yusuke Suzuki",
151 "email": "utatane.tea@gmail.com"
152 }
153 },
154 {
155 "name": "Template literals",
156 "status": {
157 "status": "Done",
158 "enabled-by-default": true
159 },
160 "url": "http://people.mozilla.org/~jorendorff/es6-draft.html#sec-template-literals",
161 "documentation-url": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/template_strings",
162 "webkit-url": "https://bugs.webkit.org/show_bug.cgi?id=142691",
163 "description": "The template-literals (like `Hello ${World}`) provides string interpolation feature. Line terminators are also allowed in the template-literals.",
164 "specification": "ES6",
165 "contact": {
166 "name": "Yusuke Suzuki",
167 "email": "utatane.tea@gmail.com"
168 }
169 },
170 {
171 "name": "WeakMap",
172 "status": {
173 "status": "Done",
174 "enabled-by-default": true
175 },
176 "url": "http://people.mozilla.org/~jorendorff/es6-draft.html#sec-weakmap-objects",
177 "documentation-url": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakMap",
178 "webkit-url": "https://bugs.webkit.org/show_bug.cgi?id=120912",
179 "description": "WeakMap provides an <a href=\"https://en.wikipedia.org/wiki/Associative_array\">associative array data</a> structure that maps keys to values. WeakMap's keys must be objects.",
180 "specification": "ES6"
181 },
182 {
183 "name": "WeakSet",
184 "status": {
185 "status": "Done",
186 "enabled-by-default": true
187 },
188 "url": "http://people.mozilla.org/~jorendorff/es6-draft.html#sec-weakset-objects",
189 "documentation-url": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakSet",
190 "webkit-url": "https://bugs.webkit.org/show_bug.cgi?id=142408",
191 "description": "WeakSet is a collection of unique objects. Keys stored in WeakSet are referenced weakly.",
192 "specification": "ES6",
193 "contact": {
194 "name": "Yusuke Suzuki",
195 "email": "utatane.tea@gmail.com"
196 }
197 },
198 {
199 "name": "for...of loops",
200 "status": {
201 "status": "Done",
202 "enabled-by-default": true
203 },
204 "url": "http://people.mozilla.org/~jorendorff/es6-draft.html#sec-for-in-and-for-of-statements",
205 "documentation-url": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...of",
206 "description": "The for...of loops iterate over the values provided by the iterator of the target object.",
207 "specification": "ES6",
208 "comment": "Older versions of WebKit only supported iterating JavaScript arrays."
209 }
210 ]
211 }