Встроенные объекты 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.