| OLD | NEW |
| 1 <!-- Feature template markdown: | 1 <!-- Feature template markdown: |
| 2 ## Header | 2 ## Header |
| 3 | 3 |
| 4 **Usage Example:** | 4 **Usage Example:** |
| 5 | 5 |
| 6 ```js | 6 ```js |
| 7 | 7 |
| 8 ``` | 8 ``` |
| 9 | 9 |
| 10 **Documentation:** [link]() | 10 **Documentation:** [link]() |
| (...skipping 165 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 176 ``` | 176 ``` |
| 177 | 177 |
| 178 **Documentation:** [link](http://www.ecma-international.org/ecma-262/6.0/#sec-pr
omise-objects) | 178 **Documentation:** [link](http://www.ecma-international.org/ecma-262/6.0/#sec-pr
omise-objects) |
| 179 [link](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_
Objects/Promise) | 179 [link](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_
Objects/Promise) |
| 180 | 180 |
| 181 **Discussion Notes:** Feature already extensively used prior to creation of | 181 **Discussion Notes:** Feature already extensively used prior to creation of |
| 182 this document. | 182 this document. |
| 183 | 183 |
| 184 --- | 184 --- |
| 185 | 185 |
| 186 ## Classes |
| 187 |
| 188 OOP-style and boilerplate-free class syntax, including inheritance, `super()`, |
| 189 static members, and getters and setters. |
| 190 |
| 191 **Usage Example:** |
| 192 |
| 193 ```js |
| 194 class Shape { |
| 195 constructor(x, y) { |
| 196 this.x = x; |
| 197 this.y = y; |
| 198 } |
| 199 } |
| 200 // Note: let Shape = class {...}; is also valid. |
| 201 |
| 202 class Rectangle extends Shape { |
| 203 constructor(x, y, width, height) { |
| 204 super(id, x, y); |
| 205 this.width = width; |
| 206 this.height = height; |
| 207 } |
| 208 |
| 209 static goldenRectangle() { |
| 210 var PHI = (1 + Math.sqrt(5)) / 2; |
| 211 return new Rectangle(0, 0, PHI, 1); |
| 212 } |
| 213 } |
| 214 ``` |
| 215 |
| 216 **Documentation:** [link](http://www.ecma-international.org/ecma-262/6.0/#sec-cl
ass-definitions) |
| 217 |
| 218 **Discussion Notes / Link to Thread:** |
| 219 https://groups.google.com/a/chromium.org/d/msg/chromium-dev/S1h-0m2ohOw/jyaiMGDl
CwAJ |
| 220 |
| 221 **Note**: Not fully supported in iOS9. Don't use it in code that runs on Chrome |
| 222 for iOS, unless you can verify it works. TODO: Remove this note once support for |
| 223 iOS9 is dropped. |
| 224 |
| 225 --- |
| 226 |
| 186 # Banned Features | 227 # Banned Features |
| 187 | 228 |
| 188 The following features are banned for Chromium development. | 229 The following features are banned for Chromium development. |
| 189 | 230 |
| 190 # Features To Be Discussed | 231 # Features To Be Discussed |
| 191 | 232 |
| 192 The following features are currently disallowed. See the top of this page on | 233 The following features are currently disallowed. See the top of this page on |
| 193 how to propose moving a feature from this list into the allowed or banned | 234 how to propose moving a feature from this list into the allowed or banned |
| 194 sections. | 235 sections. |
| 195 | 236 |
| (...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 257 ``` | 298 ``` |
| 258 | 299 |
| 259 **Documentation:** [link](http://www.ecma-international.org/ecma-262/6.0/#sec-le
t-and-const-declarations) | 300 **Documentation:** [link](http://www.ecma-international.org/ecma-262/6.0/#sec-le
t-and-const-declarations) |
| 260 | 301 |
| 261 **See also:** [Object.freeze()](https://developer.mozilla.org/en-US/docs/Web/Jav
aScript/Reference/Global_Objects/Object/freeze) | 302 **See also:** [Object.freeze()](https://developer.mozilla.org/en-US/docs/Web/Jav
aScript/Reference/Global_Objects/Object/freeze) |
| 262 | 303 |
| 263 **Discussion Notes / Link to Thread:** | 304 **Discussion Notes / Link to Thread:** |
| 264 | 305 |
| 265 --- | 306 --- |
| 266 | 307 |
| 267 ## Classes | |
| 268 | |
| 269 OOP-style and boilerplate-free class syntax, including inheritance, `super()`, | |
| 270 static members, and getters and setters. | |
| 271 | |
| 272 **Usage Example:** | |
| 273 | |
| 274 ```js | |
| 275 class Shape { | |
| 276 constructor(x, y) { | |
| 277 this.x = x; | |
| 278 this.y = y; | |
| 279 } | |
| 280 } | |
| 281 // Note: let Shape = class {...}; is also valid. | |
| 282 | |
| 283 class Rectangle extends Shape { | |
| 284 constructor(x, y, width, height) { | |
| 285 super(id, x, y); | |
| 286 this.width = width; | |
| 287 this.height = height; | |
| 288 } | |
| 289 | |
| 290 static goldenRectangle() { | |
| 291 var PHI = (1 + Math.sqrt(5)) / 2; | |
| 292 return new Rectangle(0, 0, PHI, 1); | |
| 293 } | |
| 294 } | |
| 295 ``` | |
| 296 | |
| 297 **Documentation:** [link](http://www.ecma-international.org/ecma-262/6.0/#sec-cl
ass-definitions) | |
| 298 | |
| 299 **Discussion Notes / Link to Thread:** | |
| 300 | |
| 301 --- | |
| 302 | |
| 303 ## Block Scope Functions | 308 ## Block Scope Functions |
| 304 | 309 |
| 305 **Usage Example:** | 310 **Usage Example:** |
| 306 | 311 |
| 307 ```js | 312 ```js |
| 308 { | 313 { |
| 309 function foo() { | 314 function foo() { |
| 310 return 1; | 315 return 1; |
| 311 } | 316 } |
| 312 // foo() === 1 | 317 // foo() === 1 |
| (...skipping 641 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 954 | 959 |
| 955 ```js | 960 ```js |
| 956 // See Doc | 961 // See Doc |
| 957 ``` | 962 ``` |
| 958 | 963 |
| 959 **Documentation:** [link](http://www.ecma-international.org/ecma-262/6.0/#sec-ma
th) | 964 **Documentation:** [link](http://www.ecma-international.org/ecma-262/6.0/#sec-ma
th) |
| 960 | 965 |
| 961 **Discussion Notes / Link to Thread:** | 966 **Discussion Notes / Link to Thread:** |
| 962 | 967 |
| 963 --- | 968 --- |
| OLD | NEW |