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 |
---|---|---|---|---|---|---|---|---|
870 | 0 (0%) | 0 (0%) | 0 (0%) | 3 (1%) | 9 (2%) | 108 (13%) | 0 (0%) | 38 (5%) |
See also localization status of this section.
Editorial reviews
Found 3 pages. Learn more about how to do an editorial review.
Technical reviews
Found 9 pages. Learn more about how to do a technical review.
Outdated pages
Found 108 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
582 days old - The legacy Iterator protocol
391 days old - Legacy generator function expression
418 days old - arguments[@@iterator]()
373 days old - RangeError: argument is not a valid code point
382 days old - RangeError: invalid array length
382 days old - RangeError: precision is out of range
382 days old - RangeError: repeat count must be less than infinity
382 days old - RangeError: repeat count must be non-negative
382 days old - ReferenceError: invalid assignment left-hand side
367 days old - SyntaxError: Using //@ to indicate sourceURL pragmas is deprecated. Use //# instead
376 days old - SyntaxError: missing } after property list
367 days old - SyntaxError: test for equality (==) mistyped as assignment (=)?
375 days old - TypeError: "x" has no properties
372 days old - TypeError: More arguments needed
367 days old - Warning: -file- is being assigned a //# sourceMappingURL, but already has one
370 days old - Warning: unreachable code after return statement
382 days old - JavaScript methods index
484 days old - JavaScript properties index
484 days old - Array.unobserve()
481 days old - get ArrayBuffer[@@species]
372 days old - Boolean.prototype
525 days old - Date.prototype
525 days old - Error.prototype
524 days old - Error.prototype.lineNumber
387 days old - Error.prototype.message
524 days old - Error.prototype.name
524 days old - Error.prototype.stack
499 days old - EvalError.prototype
524 days old - Function.arguments
524 days old - Function.length
371 days old - Function.prototype
524 days old - Math.E
523 days old - Math.LN10
523 days old - Math.LN2
523 days old - Math.LOG10E
523 days old - Math.LOG2E
523 days old - Math.PI
523 days old - Math.SQRT1_2
523 days old - Math.SQRT2
523 days old - Number.MIN_VALUE
521 days old - Number.NEGATIVE_INFINITY
368 days old - Number.NaN
521 days old - Number.POSITIVE_INFINITY
521 days old - Number.prototype
521 days old - Additional examples for Object.defineProperty
409 days old - RangeError.prototype
516 days old - ReferenceError.prototype
516 days old - RegExp.prototype
420 days old - RegExp.prototype.exec()
376 days old - RegExp.prototype.ignoreCase
516 days old - RegExp.prototype.multiline
428 days old - RegExp.prototype[@@replace]()
390 days old - RegExp.prototype[@@search]()
390 days old - RegExp.prototype[@@split]()
390 days old - get RegExp[@@species]
372 days old - regexp.lastIndex
371 days old - SIMD.%type%.abs()
492 days old - SIMD.%type%.add()
492 days old - SIMD.%type%.addSaturate()
492 days old - SIMD.%type%.allTrue()
492 days old - SIMD.%type%.and()
492 days old - SIMD.%type%.anyTrue()
492 days old - SIMD.%type%.div()
492 days old - SIMD.%type%.equal()
492 days old - SIMD.%type%.max()
492 days old - SIMD.%type%.maxNum()
492 days old - SIMD.%type%.min()
492 days old - SIMD.%type%.minNum()
492 days old - SIMD.%type%.mul()
492 days old - SIMD.%type%.neg()
492 days old - SIMD.%type%.not()
492 days old - SIMD.%type%.or()
492 days old - SIMD.%type%.prototype.toSource()
513 days old - SIMD.%type%.prototype.toString()
429 days old - SIMD.%type%.prototype.valueOf()
429 days old - SIMD.%type%.reciprocalApproximation()
492 days old - SIMD.%type%.reciprocalSqrtApproximation()
492 days old - SIMD.%type%.replaceLane()
492 days old - SIMD.%type%.shiftLeftByScalar()
492 days old - SIMD.%type%.shiftRightByScalar()
492 days old - SIMD.%type%.sqrt()
492 days old - SIMD.%type%.store()
492 days old - SIMD.%type%.sub()
492 days old - SIMD.%type%.xor()
492 days old - String.prototype
368 days old - string.length
372 days old - SyntaxError.prototype
516 days old - TypeError.prototype
516 days old - TypedArray.BYTES_PER_ELEMENT
516 days old - TypedArray.name
516 days old - TypedArray.prototype
516 days old - TypedArray.prototype.buffer
516 days old - TypedArray.prototype.byteLength
374 days old - TypedArray.prototype.byteOffset
516 days old - TypedArray.prototype.length
516 days old - get TypedArray[@@species]
372 days old - URIError.prototype
516 days old - Legacy generator function
418 days old - New in JavaScript 1.1
500 days old - New in JavaScript 1.2
500 days old - New in JavaScript 1.3
500 days old - New in JavaScript 1.4
500 days old - New in JavaScript 1.5
500 days old - New in JavaScript 1.6
425 days old - New in JavaScript 1.8
500 days old - New in JavaScript 1.8.1
500 days old - The performance hazards of [[Prototype]] mutation
411 days old
Documentation requests
Found 38 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 |
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 |
1334000 | Polyfill example does not detect NaN |
1336740 | Create page: TypedObject |
1340310 | How does the Cache interface handle cookies? |
1343142 | Clarify that Array.prototype.sort() sorts in increasing order |
1346500 | The result of the polyfill doesn't meet the result of firefox. |
1347496 | Inaccurate information in a code snippet |
1352856 | continue statement, example 2. |
1357343 | Console.table example does not work as expected |
1359860 | Make /W special character regex more clear |
1360102 | About the global property with "var" in MDN. |
1360250 | mac.id is 5 in 'Global information in constructors' example |
1360661 | Document for Array.from provides a polyfill that cannot create array from a Set |
1361299 | mixin replace jQuery.extend with Object.assign |
1363684 | tip faster js offsetwith |
1365288 | Map.get/set documentation is lacking information |
1367757 | Should String.prototype.substr be marked as deprecated? |
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 | 870 | 870 (100%) | 867 (99%) |
id | 804 | 82 (10%) | 20 (24%) |
it | 804 | 77 (9%) | 7 (9%) |
ja | 870 | 821 (94%) | 156 (19%) |
kab | 859 | 1 (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 | 859 | 518 (60%) | 53 (10%) |
zh-CN | 869 | 692 (79%) | 235 (33%) |
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])Float32Array Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array Uint8Array Uint8ClampedArray |
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.fromCharCode
should 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 Latest 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 |