Built-in objects Array ArrayBuffer AsyncFunction Atomics Boolean DataView Date Error EvalError Float32Array Float64Array Function Generator GeneratorFunction Infinity Int16Array Int32Array Int8Array InternalError Intl Intl.Collator Intl.DateTimeFormat Intl.NumberFormat JSON Map Math NaN Number Object Promise Proxy RangeError ReferenceError Reflect RegExp SIMD SIMD.Bool16x8 SIMD.Bool32x4 SIMD.Bool64x2 SIMD.Bool8x16 SIMD.Float32x4 SIMD.Float64x2 SIMD.Int16x8 SIMD.Int32x4 SIMD.Int8x16 SIMD.Uint16x8 SIMD.Uint32x4 SIMD.Uint8x16 Set SharedArrayBuffer String Symbol SyntaxError TypeError TypedArray URIError Uint16Array Uint32Array Uint8Array Uint8ClampedArray WeakMap WeakSet WebAssembly decodeURI() decodeURIComponent() encodeURI() encodeURIComponent() escape() eval() isFinite() isNaN() null parseFloat() parseInt() undefined unescape() uneval() Expressions & operators Arithmetic operators Array comprehensions Assignment operators Bitwise operators Comma operator Comparison operators Conditional (ternary) Destructuring Expression closures Generator comprehensions Grouping operator Legacy generator function expression Logical Operators Object initializer Operator precedence Property accessors Spread syntax async function expression await class expression delete operator function expression function* expression in operator instanceof new operator new.target super this typeof void operator yield yield* Statements & declarations Legacy generator function async function block break class const continue debugger default do...while empty export for for each...in for...in for...of function declaration function* if...else import label let return switch throw try...catch var while with Functions Arguments object Arrow functions Default parameters Method definitions Rest parameters getter setter Classes constructor extends static Errors Error: Permission denied to access property "x" InternalError: too much recursion RangeError: argument is not a valid code point RangeError: invalid array length RangeError: invalid date RangeError: precision is out of range RangeError: radix must be an integer RangeError: repeat count must be less than infinity RangeError: repeat count must be non-negative ReferenceError: "x" is not defined ReferenceError: assignment to undeclared variable "x" ReferenceError: can't access lexical declaration`X' before initialization ReferenceError: deprecated caller or arguments usage ReferenceError: invalid assignment left-hand side ReferenceError: reference to undefined property "x" URIError: malformed URI sequence Warning: -file- is being assigned a //# sourceMappingURL, but already has one Warning: 08/09 is not a legal ECMA-262 octal constant Warning: Date.prototype.toLocaleFormat is deprecated Warning: JavaScript 1.6's for-each-in loops are deprecated Warning: String.x is deprecated; use String.prototype.x instead Warning: expression closures are deprecated Warning: unreachable code after return statement X.prototype.y called on incompatible type JavaScript technologies overview Lexical grammar JavaScript data structures Enumerability and ownership of properties Iteration protocols Strict mode Transitioning to strict mode Template literals Deprecated features New in JavaScript ECMAScript 2015 support in Mozilla ECMAScript 5 support in Mozilla ECMAScript Next support in Mozilla Firefox JavaScript changelog All pages index Methods index Properties index