- Standard built-in objects
- Standard objects by category
- Value properties
- Function properties
- Fundamental objects
- Numbers and dates
- Text processing
- Indexed collections
- Keyed collections
- Vector collections
- Structured data
- Control abstraction objects
- Reflection
- Internationalization
- WebAssembly
- Non-standard objects
- Other
- Document Tags and Contributors
- Standard built-in objects
- Standard objects by category
- Value properties
- Function properties
- Fundamental objects
- Error objects
- Numbers and dates
- Text processing
- Indexed collections
- Keyed collections
- Structured data
- Managing memory
- Control abstraction objects
- Reflection
- Internationalization
- Found a content problem with this page?
Standard built-in objects
This chapter documents all of JavaScript’s standard, built-in objects, including their methods and properties.
The term «global objects» (or standard built-in objects) here is not to be confused with the global object. Here, global objects refer to objects in the global scope. The global object itself can be accessed using the this operator in the global scope (but only if ECMAScript 5 strict mode is not used; in that case it returns undefined ). In fact, the global scope consists of the properties of the global object, including inherited properties, if any.
Other objects in the global scope are either created by the user script or provided by the host application. The host objects available in browser contexts are documented in the API reference. For more information about the distinction between the DOM and core JavaScript, see JavaScript technologies overview.
Standard objects by category
Value properties
These global properties return a simple value; they have no properties or methods.
Function properties
These global functions—functions which are called globally rather than on an object—directly return their results to the caller.
Fundamental objects
These are the fundamental, basic objects upon which all other objects are based. This includes objects that represent general objects, functions, and errors.
Numbers and dates
These are the base objects representing numbers, dates, and mathematical calculations.
Text processing
These objects represent strings and support manipulating them.
Indexed collections
These objects represent collections of data which are ordered by an index value. This includes (typed) arrays and array-like constructs.
Keyed collections
These objects represent collections which use keys; these contain elements which are iterable in the order of insertion.
Vector collections
SIMD vector data types are objects where data is arranged into lanes.
Structured data
These objects represent and interact with structured data buffers and data coded using JavaScript Object Notation (JSON).
Control abstraction objects
Reflection
Internationalization
Additions to the ECMAScript core for language-sensitive functionalities.
WebAssembly
Non-standard objects
Other
Document Tags and Contributors
- JavaScript
- Tutorials:
- Complete beginners
- JavaScript basics
- JavaScript first steps
- JavaScript building blocks
- Introducing JavaScript objects
- Introduction
- Grammar and types
- Control flow and error handling
- Loops and iteration
- Functions
- Expressions and operators
- Numbers and dates
- Text formatting
- Regular expressions
- Indexed collections
- Keyed collections
- Working with objects
- Details of the object model
- Iterators and generators
- Meta programming
- A re-introduction to JavaScript
- JavaScript data structures
- Equality comparisons and sameness
- Closures
- Inheritance and the prototype chain
- Strict mode
- JavaScript typed arrays
- SIMD types
- Memory Management
- Concurrency model and Event Loop
- 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
- Iterator
- JSON
- Map
- Math
- NaN
- Number
- Object
- ParallelArray
- 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
- StopIteration
- 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()
- Arithmetic operators
- Array comprehensions
- Assignment operators
- Bitwise operators
- Comma operator
- Comparison operators
- Conditional (ternary) Operator
- Destructuring assignment
- 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*
- 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
- Arguments object
- Arrow functions
- Default parameters
- Method definitions
- Rest parameters
- getter
- setter
- constructor
- extends
- static
- 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»
- SyntaxError: «0»-prefixed octal literals and octal escape seq. are deprecated
- SyntaxError: «use strict» not allowed in function with non-simple parameters
- SyntaxError: «x» is a reserved identifier
- SyntaxError: JSON.parse: bad parsing
- SyntaxError: Malformed formal parameter
- SyntaxError: Unexpected token
- SyntaxError: Using //@ to indicate sourceURL pragmas is deprecated. Use //# instead
- SyntaxError: a declaration in the head of a for-of loop can’t have an initializer
- SyntaxError: applying the ‘delete’ operator to an unqualified name is deprecated
- SyntaxError: for-in loop head declarations may not have initializers
- SyntaxError: function statement requires a name
- SyntaxError: identifier starts immediately after numeric literal
- SyntaxError: illegal character
- SyntaxError: invalid regular expression flag «x»
- SyntaxError: missing ) after argument list
- SyntaxError: missing ) after condition
- SyntaxError: missing : after property id
- SyntaxError: missing ; before statement
- SyntaxError: missing = in const declaration
- SyntaxError: missing ] after element list
- SyntaxError: missing formal parameter
- SyntaxError: missing name after . operator
- SyntaxError: missing variable name
- SyntaxError: missing > after function body
- SyntaxError: missing > after property list
- SyntaxError: redeclaration of formal parameter «x»
- SyntaxError: return not in function
- SyntaxError: test for equality (==) mistyped as assignment (=)?
- SyntaxError: unterminated string literal
- TypeError: «x» has no properties
- TypeError: «x» is (not) «y»
- TypeError: «x» is not a constructor
- TypeError: «x» is not a function
- TypeError: «x» is not a non-null object
- TypeError: «x» is read-only
- TypeError: More arguments needed
- TypeError: can’t access dead object
- TypeError: can’t define property «x»: «obj» is not extensible
- TypeError: can’t delete non-configurable array element
- TypeError: can’t redefine non-configurable property «x»
- TypeError: cyclic object value
- TypeError: invalid ‘in’ operand «x»
- TypeError: invalid Array.prototype.sort argument
- TypeError: invalid arguments
- TypeError: invalid assignment to const «x»
- TypeError: property «x» is non-configurable and can’t be deleted
- TypeError: setting getter-only property «x»
- TypeError: variable «x» redeclares argument
- 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
- 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
- ECMAScript 2015 support in Mozilla
- ECMAScript 5 support in Mozilla
- ECMAScript Next support in Mozilla
- Firefox JavaScript changelog
- New in JavaScript 1.1
- New in JavaScript 1.2
- New in JavaScript 1.3
- New in JavaScript 1.4
- New in JavaScript 1.5
- New in JavaScript 1.6
- New in JavaScript 1.7
- New in JavaScript 1.8
- New in JavaScript 1.8.1
- New in JavaScript 1.8.5
- All pages index
- Methods index
- Properties index
- Pages tagged «JavaScript»
- JavaScript doc status
- The MDN project
Standard built-in objects
This chapter documents all of JavaScript’s standard, built-in objects, including their methods and properties.
The term «global objects» (or standard built-in objects) here is not to be confused with the global object. Here, «global objects» refer to objects in the global scope.
The global object itself can be accessed using the this operator in the global scope. In fact, the global scope consists of the properties of the global object, including inherited properties, if any.
Other objects in the global scope are either created by the user script or provided by the host application. The host objects available in browser contexts are documented in the API reference.
For more information about the distinction between the DOM and core JavaScript, see JavaScript technologies overview.
Standard objects by category
Value properties
These global properties return a simple value. They have no properties or methods.
Function properties
These global functions—functions which are called globally, rather than on an object—directly return their results to the caller.
- eval()
- isFinite()
- isNaN()
- parseFloat()
- parseInt()
- decodeURI()
- decodeURIComponent()
- encodeURI()
- encodeURIComponent()
- escape() Deprecated
- unescape() Deprecated
Fundamental objects
These objects represent fundamental language constructs.
Error objects
Error objects are a special type of fundamental object. They include the basic Error type, as well as several specialized error types.
Numbers and dates
These are the base objects representing numbers, dates, and mathematical calculations.
Text processing
These objects represent strings and support manipulating them.
Indexed collections
These objects represent collections of data which are ordered by an index value. This includes (typed) arrays and array-like constructs.
Keyed collections
These objects represent collections which use keys. The iterable collections ( Map and Set ) contain elements which are easily iterated in the order of insertion.
Structured data
These objects represent and interact with structured data buffers and data coded using JavaScript Object Notation (JSON).
Managing memory
These objects interact with the garbage collection mechanism.
Control abstraction objects
Control abstractions can help to structure code, especially async code (without using deeply nested callbacks, for example).
Reflection
Internationalization
Additions to the ECMAScript core for language-sensitive functionalities.
- Intl
- Intl.Collator
- Intl.DateTimeFormat
- Intl.DisplayNames
- Intl.DurationFormat
- Intl.ListFormat
- Intl.Locale
- Intl.NumberFormat
- Intl.PluralRules
- Intl.RelativeTimeFormat
- Intl.Segmenter
Found a content problem with this page?
This page was last modified on Apr 22, 2023 by MDN contributors.
Your blueprint for a better internet.