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 |
|---|---|---|---|---|---|---|---|---|
| 813 | 0 (0%) | 1 (1%) | 0 (0%) | 8 (1%) | 7 (1%) | 62 (8%) | 4 (1%) | 26 (4%) |
See also localization status of this section.
Needs* tags
Found 1 pages. Learn more about how to deal with meta-tags.
- NeedsContent
Editorial reviews
Found 8 pages. Learn more about how to do an editorial review.
Technical reviews
Found 7 pages. Learn more about how to do a technical review.
Outdated pages
Found 62 pages. These pages haven't been updated in over a year. Outdated pages can have problems with both content and format. Look at these pages and consider: Is this page talking about the Web of today? Does it look consistent with newer pages in this topic area? If not, make any needed changes.
- About JavaScript
444 days old - Expression closures
432 days old - Grouping operator
440 days old - void operator
440 days old - ArrayBuffer.prototype
388 days old - ArrayBuffer.prototype.byteLength
388 days old - ArrayBuffer.prototype.slice()
388 days old - Boolean.prototype
387 days old - DataView.prototype.buffer
387 days old - DataView.prototype.byteLength
387 days old - DataView.prototype.byteOffset
387 days old - Date.prototype
387 days old - Error.prototype
386 days old - Error.prototype.message
386 days old - Error.prototype.name
386 days old - EvalError.prototype
386 days old - Function.arguments
386 days old - Function.prototype
386 days old - Infinity
381 days old - Intl.Collator.prototype
386 days old - Intl.Collator.prototype.compare
386 days old - Math.E
385 days old - Math.LN10
385 days old - Math.LN2
385 days old - Math.LOG10E
385 days old - Math.LOG2E
385 days old - Math.PI
385 days old - Math.SQRT1_2
385 days old - Math.SQRT2
385 days old - NaN
385 days old - Number.MIN_VALUE
383 days old - Number.NaN
383 days old - Number.POSITIVE_INFINITY
383 days old - Number.prototype
383 days old - Object.prototype.__noSuchMethod__
434 days old - RangeError.prototype
379 days old - ReferenceError
379 days old - ReferenceError.prototype
379 days old - RegExp.prototype.compile()
379 days old - RegExp.prototype.ignoreCase
379 days old - RegExp.rightContext ($')
369 days old - SIMD.%type%.prototype.toSource()
375 days old - SIMD.Bool64x2
374 days old - SIMD.Float64x2
374 days old - SyntaxError
378 days old - SyntaxError.prototype
378 days old - TypeError
378 days old - TypeError.prototype
378 days old - TypedArray.BYTES_PER_ELEMENT
378 days old - TypedArray.name
378 days old - TypedArray.prototype
378 days old - TypedArray.prototype.buffer
378 days old - TypedArray.prototype.byteOffset
378 days old - TypedArray.prototype.length
378 days old - URIError
378 days old - URIError.prototype
378 days old - WeakMap.prototype.clear()
370 days old - break
388 days old - continue
440 days old - debugger
440 days old - return
439 days old - JavaScript typed arrays
384 days old
Dev-doc-needed bugs
Found 4 bugs. Learn more about how to resolve a dev-doc-needed bug.
| Bug | Summary | Release |
|---|---|---|
| 1175823 | Updating a mapped arguments property with [[DefineOwnProperty]] should also change the value of its corresponding formal parameter | mozilla53 |
| 1185106 | Implement async functions (ES 2017 proposal) | --- |
| 1041341 | Make `[...rest,] = []` a SyntaxError | mozilla52 |
| 1204024 | Duplicate __proto__ property in destructuring form throws SyntaxError | mozilla52 |
Browse as bug list.
Documentation requests
Found 26 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 |
| 1201380 | Examples and text don't match up in "details of the object model" page |
| 1204224 | Unclear explanation in "Working With Objects" tutorial |
| 1243496 | The function declaration and function expression documentation is incorrect |
| 1245977 | MathML fallback: square root is not displayed correctly |
| 1275816 | Explain how |this| value is calculated in call expression, and the difference between `foo[prop]()` and `func = foo[prop], func()` |
| 1281696 | iterating with let in for-loops |
| 1286628 | Object.prototype.constructor is not a reference to the constructor of the prototype |
| 1294338 | charCodeAt and codePointAt in String documentation seem almost backwards |
| 1294635 | Polyfills from site are not working properly in IE11 |
| 1301501 | polyfill uses != to check typeof assign to "function" vs !== |
| 1303603 | Clarify that RegExp.prototype.exec() returns a special array |
| 1305261 | Async Functions/Await Documentation |
| 1307755 | Given for..of example needs some explanation, not self-explaining |
| 1308151 | Object spread not documented |
| 1309784 | Add Cyclomatic Complexity |
| 1318620 | Slightly misleading example |
| 1318933 | Description of `Object.keys` outdated because it does not return symbol keys |
| 1319979 | Equality comparisons |
| 1322844 | Tagged template literals example does not illustrate point being made |
| 1323323 | Supercharging our example website contains example that does not work in the Chrome Browser |
| 1324194 | Incorrect description for example summary found on array.prototype.filter() page (JSON example) |
| 1325251 | The Math.sign() polyfill contains two type conversions |
| 1329597 | creat new page[Sort arrays with .sort] |
| 1331092 | Implement async iterators |
| 1331306 | default values with object destructuring is incorrect |
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 |
|---|---|---|---|
| af | 804 | 0 (0%) | 0 (0%) |
| bn-BD | 804 | 32 (3%) | 0 (0%) |
| ca | 804 | 320 (39%) | 9 (2%) |
| de | 804 | 355 (44%) | 243 (68%) |
| es | 804 | 312 (38%) | 37 (11%) |
| fa | 804 | 9 (1%) | 1 (11%) |
| fr | 813 | 813 (100%) | 805 (99%) |
| id | 804 | 82 (10%) | 20 (24%) |
| it | 804 | 77 (9%) | 7 (9%) |
| ja | 804 | 774 (96%) | 163 (21%) |
| kab | 813 | 0 (0%) | 0 (0%) |
| ko | 804 | 264 (32%) | 102 (38%) |
| nl | 813 | 42 (5%) | 6 (14%) |
| pl | 804 | 261 (32%) | 4 (1%) |
| pt-BR | 804 | 256 (31%) | 47 (18%) |
| pt-PT | 804 | 30 (3%) | 3 (10%) |
| ro | 804 | 14 (1%) | 0 (0%) |
| ru | 813 | 507 (62%) | 67 (13%) |
| zh-CN | 813 | 613 (75%) | 157 (25%) |
| zh-TW | 804 | 86 (10%) | 45 (52%) |
Structure of the MDN JavaScript docs
| # | 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. |
| 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
Float32x4 |
3 | In Nightly. Spec in flux. | |
| 17 | WeakSet | 6 | 2 | Complete. |
| 18 | Proxy | 17 | 3 | Complete. |
| 19 | Reflect | 15 | 3 | Complete. |
| 20 | Generator (legacy and ES2015) Iterator StopIteration GeneratorFunction |
8 | 2 | Complete. |
| 21 | ArrayBuffer (6)DataView (21)TypedArray (34 [+ 3])Float32ArrayFloat64ArrayInt16ArrayInt32ArrayInt8ArrayUint16ArrayUint32ArrayUint8ArrayUint8ClampedArray |
73 | 2 | Missing pages:
|
| 22 | Promise | 8 | 1 | Complete. |
| 23 | Symbol | 9 | 2 |
Missing pages:
|
| 24 | ParallelArray | 1 | 5 | Complete. |
| 25 | Atomics SharedArrayBuffer |
17 | 4 | Preffed off. Spec in flux. |
| 26 | Expressions & Operators | 29 | 1 | Complete. |
| 27 | Statements & Declarations | 27 | 1 | Complete. |
| 28 | Functions | 11 | 1 |
Complete. |
| 29 | Classes | 4 | 1 | Complete. |
| 30 | JavaScript Guide | 15 | 1 |
|
| 31 | New in JavaScript | 15 | 4 |
Complete. |
| 32 | JavaScript error reference | 36 | 3 | Explains error messages (v8, Chakra). So that people searching for errors will find guidance. |
| 33 | Articles/Tutorials/Misc | 17 |
3 |
|
| 34 | Meta pages | 9 | 4 |
Other tasks to do
- 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.
Tagging standard
- Pages in the JavaScript/ page tree should at least have the tag "JavaScript".
- For methods belonging to an object, 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 members have the "prototype" tag.
- Features added in a new ECMAScript version have the tags "ECMAScript6" and "ECMAScript 2015" or later versions/years.
- The Experimental tag should only be used with new features where the standard in not yet finalized (e.g. in a strawman proposal) and the feature is in a Nightly version or behind a preference.
- Features are Deprecated if their usage is discouraged and are Obsolete if they have been removed from engines.
- If pages need any type of work, a "Needs*" 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 2017 Draft (ECMA-262) | Draft |
| ECMAScript Internationalization API 1.0 (ECMA-402) | Standard |
| ECMAScript Internationalization API 2.0 (ECMA-402) | Standard |
| ECMAScript Internationalization API 4.0 (ECMA-402) | Draft |
| SIMD | Draft |
| ECMAScript Shared Memory and Atomics | Draft |
| Proposals (with advanced stage and at least 1 implementation) | Draft |