Встроенные объекты JavaScript

Встроенные объекты (англ. built-in objects) определены стандартом ECMAScript и доступны в любой среде выполнения JavaScript: в браузере, в воркере и на сервере. Это конструкторы и объекты вроде Array, Promise и Math с их методами и свойствами.

Объекты для работы со страницей, сетью и устройством — Document, fetch(), localStorage — относятся к веб-платформе, а не к языку. Они собраны в каталоге интерфейсов Web API.

Группы объектов

Ссылки ведут к существующим статьям с таблицами методов и свойств; объекты без ссылки пока сопровождаются кратким описанием.

Основные объекты

Основа языка: объекты, функции, логические значения, символы и ошибки.

Основные объекты
Объект Описание
Object Базовый объект языка: создание объектов, работа со свойствами и их дескрипторами, прототипы, заморозка и перечисление ключей.
Function Функции как объекты: свойства length и name, вызов с заданным this.
Boolean Логические значения true и false, преобразование к логическому типу.
Symbol Уникальные значения для ключей свойств, глобальный реестр символов и общеизвестные символы вроде Symbol.iterator.
Error Объекты ошибок и производные типы: TypeError, RangeError, SyntaxError, ReferenceError, AggregateError и другие; свойство cause.

Числа и даты

Вычисления, большие целые числа, математические функции и работа со временем.

Числа и даты
Объект Описание
Number Числа с плавающей точкой: проверки, разбор строк, форматирование и границы точности.
BigInt Целые числа произвольной величины. Не смешиваются с Number в арифметике без явного преобразования.
Math Математические константы и функции: округление, степени, тригонометрия, случайные числа.
Date Момент времени: создание дат, чтение и изменение компонентов, преобразование в строки.
Temporal Современная работа с датами и временем: точные моменты, календарные даты без времени, часовые пояса и длительности. Перед использованием проверяйте поддержку в целевых браузерах.

Текст

Строки, поиск по шаблонам и форматирование с учётом языка.

Текст
Объект Описание
String Строки: поиск, извлечение частей, замена, разбиение, изменение регистра и работа с Юникодом.
RegExp Регулярные выражения: синтаксис шаблонов, флаги, поиск совпадений и групп.
Intl Интернационализация: форматирование чисел, дат и списков, сравнение строк, правила множественного числа и разбиение текста с учётом языка.

Коллекции

Упорядоченные списки, словари и множества.

Коллекции
Объект Описание
Array Упорядоченный список значений: перебор, поиск, преобразование, сортировка и копирование.
Map Словарь с ключами любого типа; сохраняет порядок добавления.
Set Множество уникальных значений и операции над множествами: объединение, пересечение, разность.
WeakMap Словарь, ключи которого не мешают сборке мусора. Ключами могут быть объекты и незарегистрированные символы; перебор невозможен.
WeakSet Набор объектов, который не мешает их сборке мусора; используется для пометки объектов.

Двоичные данные

Хранение и чтение байтов, в том числе общая память для параллельных вычислений.

Двоичные данные
Объект Описание
ArrayBuffer Буфер байтов фиксированной или изменяемой длины. Сам не даёт чтения: данные читают через представления.
Типизированные массивы Представления буфера с элементами одного числового типа: Uint8Array, Int32Array, Float64Array и другие.
DataView Чтение и запись чисел разных типов в любом месте буфера с явным порядком байтов.
SharedArrayBuffer Буфер, общий для нескольких потоков. В браузере доступен только на страницах с изоляцией между источниками.
Atomics Атомарные операции и ожидание над общей памятью.

Структурированные данные

Преобразование данных в текстовый формат обмена и обратно.

Структурированные данные
Объект Описание
JSON Преобразование значений в строку JSON и разбор такой строки.

Асинхронность и итерация

Результаты будущих операций и последовательный перебор значений.

Асинхронность и итерация
Объект Описание
Promise Результат асинхронной операции: обработчики успеха и ошибки, цепочки и комбинаторы.
Iterator Общий прототип итераторов и методы для обработки последовательностей: map(), filter(), take() и другие.
Генераторы Объекты, которые возвращают функции-генераторы function* и асинхронные генераторы: выдают значения по одному через yield.

Отражение

Перехват и выполнение стандартных операций с объектами.

Отражение
Объект Описание
Proxy Обёртка над объектом, перехватывающая операции чтения, записи, вызова и другие.
Reflect Функции, выполняющие стандартные операции с объектами; часто используются в обработчиках Proxy.

Память и ресурсы

Слабые ссылки и освобождение ресурсов.

Память и ресурсы
Объект Описание
WeakRef Слабая ссылка на объект, которая не мешает его сборке мусора.
FinalizationRegistry Вызов функции после сборки зарегистрированного объекта. Момент вызова и сам вызов не гарантированы.
DisposableStack Освобождение группы ресурсов в обратном порядке; используется с объявлением using. Есть асинхронный вариант AsyncDisposableStack. Перед использованием проверяйте поддержку.

Глобальные значения и функции

Значения и функции, доступные без обращения к объекту.

Глобальные значения и функции
Объект Описание
Глобальные функции globalThis, NaN, Infinity, undefined, функции parseInt(), isNaN(), encodeURIComponent() и другие.

Спецификация

ECMAScript Language Specification, ECMAScript Internationalization API, Temporal.