This page tries to track ongoing documentation work in the MDN JavaScript section. Feel free to contribute!
Summary
| Pages | No tags | Needs* tags | Missing tags | Editorial reviews | Technical reviews | Outdated pages | Dev-doc-needed bugs | Documentation requests |
|---|---|---|---|---|---|---|---|---|
| 706 | 0 (0%) | 5 (1%) | 0 (0%) | 0 (0%) | 3 (1%) | 0 (0%) | 19 (3%) | 7 (1%) |
See also localization status of this section.
Needs* tags
Found 5 pages. Learn more about how to deal with meta-tags.
- NeedsContent
- NeedsExample
- NeedsUpdate
Technical reviews
Found 3 pages. Learn more about how to do a technical review.
Dev-doc-needed bugs
Found 19 bugs. Learn more about how to resolve a dev-doc-needed bug.
| Bug | Summary | Release |
|---|---|---|
| 1133298 | 'arguments' is allowed even with rest-parameters | mozilla43 |
| 1192412 | Class constructor's name should be class name. | mozilla43 |
| 1070767 | Enable {Array, %TypedArray%}.prototype.includes in all builds | mozilla43 |
| 1175394 | Mapped arguments object should only be created when its FormalParameters is a SimpleParameterList | mozilla43 |
| 889158 | Calling an arrow function shouldn't create an 'arguments' binding | mozilla43 |
| 1198453 | Make ES7 Exponentiation Nightly-only pending spec discussions. | mozilla43 |
| 1150297 | Move source property to RegExp instance again. | --- |
| 1141986 | Implement Atomics.exchange | mozilla42 |
| 1141994 | Implement Atomics.isLockFree | mozilla42 |
| 1141865 | Implement ES6 NewTarget | mozilla41 |
| 866301 | Enable ECMAScript Internationalization API for Firefox OS | mozilla40 |
| 979594 | Atomics and locks for SharedArrayBuffer: Plain JS | mozilla36 |
| 1054882 | Make SharedArrayBuffer not a subtype of ArrayBuffer; fork TypedArray hierarchy | mozilla35 |
| 933001 | Land SharedArrayBuffer Prototype Preffed-Off | mozilla30 |
| 917454 | [typed objs] Add objectType function | mozilla28 |
| 922172 | Add redimension method for typed objects | mozilla28 |
| 922115 | Support unsized arrays in typed objects | mozilla28 |
| 898342 | [binary data] add support for binary data handles | mozilla27 |
| 914220 | Move TypedObject names into a "TypedObject" quasi-module | mozilla27 |
Browse as bug list.
Documentation requests
Found 7 bugs. Documentation request bugs can contain various kinds work related to MDN pages. Read through the bug and ask questions in the bug if in doubt.
| Bug | Summary |
|---|---|
| 1179881 | Write a JS error reference |
| 1186432 | Reserved keyword `default`'s hyperlink points to `switch` page |
| 1188986 | Promise.all example is very hard to understand |
| 1192215 | Add docs listing the differences between each of the major ECMAScript versions |
| 1198429 | document smart/memoized/self-overwriting getter |
| 1199435 | Documentation for ES6 class needs English correction |
| 1201380 | Examples and text don't match up in "details of the object model" page |
Browse as bug list.
Localizations
Please help us to localize this documentation into different languages. Read more about how to translate.
| Language | Pages | Translated | Translations up to date |
|---|---|---|---|
| bn-BD | 706 | 32 (4%) | 6 (18%) |
| ca | 706 | 186 (26%) | 76 (40%) |
| de | 706 | 159 (22%) | 46 (28%) |
| es | 706 | 222 (31%) | 33 (14%) |
| fa | 706 | 8 (1%) | 0 (0%) |
| fr | 706 | 706 (100%) | 705 (99%) |
| it | 706 | 51 (7%) | 11 (21%) |
| ja | 706 | 690 (97%) | 73 (10%) |
| ko | 706 | 78 (11%) | 14 (17%) |
| pl | 706 | 250 (35%) | 12 (4%) |
| pt-BR | 706 | 149 (21%) | 32 (21%) |
| ru | 706 | 446 (63%) | 35 (7%) |
| zh-CN | 638 | 391 (61%) | 172 (43%) |
| zh-TW | 628 | 29 (4%) | 2 (6%) |
Structure of the MDN JavaScript docs
All reference pages should have a consistent structure with information about browser compatibility, specification status, examples, introduction texts, proper tagging and formatting (content hierarchies, no links to redirects). Integrating the quicklinks navigation is also part of this update. Going through these pages can then help to identify gaps in our reference material and find pages in need of further updating for ES 5.1 and 6.
| # | Chapter | Pages | Priority | Notes |
|---|---|---|---|---|
| 0 | Value & function properties in the global scope | 16 | 1 | Complete. |
| 1 | Object | 40 | 1 |
Complete. |
| 2 | Function | 14 | 1 | Complete. |
| 3 | Array | 38 | 1 | Complete.
Missing pages for ES7: |
| 4 | String | 50 | 1 | Complete. |
| 5 | Boolean | 5 | 1 | Complete. |
| 6 | Number | 24 | 1 |
Complete. |
| 7 | Math | 44 | 1 | Complete. |
| 8 | Date | 53 | 1 | Complete. |
| 9 | RegExp | 21 | 1 | Complete. |
| 10 |
Error |
24 | 4 | Complete. |
| 11 | JSON | 3 | 1 | Complete. |
| 12 | Intl Intl.Collator Intl.DateTimeFormat Intl.NumberFormat |
16 | 2 | Complete. |
| 13 | Map | 13 | 2 | Complete. |
| 14 | WeakMap | 7 | 2 | Complete. |
| 15 | Set | 11 | 2 | Complete. |
| 16 | SIMD | 53 | 3 | In Nightly. Spec in flux. |
| 17 | WeakSet | 6 | 2 | Complete. |
| 18 | Proxy | 17 | 3 | Complete. |
| 19 | Reflect | 1 (+14) | 3 | Sub pages missing (14 methods). |
| 20 | Generator (legacy and ES6) Iterator StopIteration GeneratorFunction |
8 | 2 | Complete. |
| 21 | ArrayBuffer (6)DataView (21)TypedArray (34 [+ 3])Float32ArrayFloat64ArrayInt16ArrayInt32ArrayInt8ArrayUint16ArrayUint32ArrayUint8ArrayUint8ClampedArray |
70 (+3) | 2 | Missing pages:
|
| 22 | Promise | 8 | 1 | Complete. |
| 23 | Symbol | 9 | 2 |
Missing pages:
|
| 24 | ParallelArray | 1 | 5 | Complete. |
| 25 | Expressions & Operators | 29 | 1 | Complete. |
| 26 | Statements & Declarations | 27 | 1 | Needs ES6 update: |
| 27 | Functions | 11 | 1 |
Complete. |
| 28 | Classes | 4 | 1 | WIP, Fx implementation in progress |
| 29 | JavaScript Guide | 15 | 1 |
|
| 30 | New in JavaScript | 15 | 4 |
Complete. |
| 31 | Articles/Tutorials/Misc | 17 |
3 |
|
| 32 | Meta pages | 9 | 4 |
Notes
New chapters to be written
| # | Chapter | Pages | Priority | Notes |
|---|---|---|---|---|
| 1 | Typed objects | 0 | 5 | In Nightly. https://github.com/dslomov-chromium/typed-objects-es7 |
| 2 | SharedArrayBuffer and Shared*Array types | 0 | 5 | In Nightly. |
Other tasks to do
- asm.js explanation doc ?
- Go through Firefox release notes for developers and site compat notes and make sure JS changes are documented properly in the references.
- Make sure our compat tables are up to date by also going trough bug trackers of other open source browsers (e.g. WebKit, Blink)
- Write a changelog for Chrome JavaScript releases like we have for Firefox. Same for other browsers/node.js?
- Meta article about how to document in the JS MDN area.
- Create a page that explains error messages (v8). So that people searching for errors will find guidance.
Tagging standard
- For all pages at least the tag "JavaScript" should be added.
- For methods belonging to an object it the name of the Object should be added (e.g.
String.fromCharCodeshould have "String"). - Methods should have "Method" and properties need a "Property" tag. All prototype methods have the "prototype" tag.
- Features added in a new ECMAScript version have a "ECMAScript6" plus "Experimental".
- Deprecated and obsolete features have the same named tags.
- If pages need any type of work, a "Need*" tag should be added (see above).
Specifications
The following specifications are taken under consideration for this project:
| Specification | Status |
|---|---|
| ECMAScript 5.1 (ECMA-262) | Standard |
| ECMAScript 2015 (6th Edition, ECMA-262) | Standard |
| ECMAScript Internationalization API 1.0 (ECMA-402) | Standard |
| ECMAScript Internationalization API 2.0 (ECMA-402) | Standard |