Справочник JavaScript
Справочник JavaScript
Функции, классы и методы JavaScript: синтаксис, параметры, возвращаемые значения и примеры.
Строки
- String.prototype.atВозвращает символ по позиции, поддерживает отрицательные индексы.
- String.prototype.charAtВозвращает символ по позиции.
- String.prototype.charCodeAtВозвращает числовой код символа.
- String.prototype.concatСклеивает строки.
- String.prototype.endsWithПроверяет, заканчивается ли строка заданным текстом.
- String.fromCharCodeСоздаёт строку из кодов символов.
- String.prototype.includesПроверяет, содержит ли строка заданную подстроку.
- String.prototype.indexOfНаходит позицию первого вхождения подстроки.
- String.prototype.lastIndexOfИщет последнее вхождение текста в строке.
- String.prototype.lengthДлина строки — сколько в ней символов.
- String.prototype.localeCompareСравнивает строки по правилам языка — для сортировки по алфавиту.
- String.prototype.padEndДополняет строку справа до нужной длины.
- String.prototype.padStartДополняет строку слева до нужной длины.
- String.rawШаблонная строка без обработки escape-последовательностей.
- String.prototype.repeatПовторяет строку заданное число раз.
- String.prototype.replaceЗаменяет первое совпадение (или все — с флагом g у регулярного выражения).
- String.prototype.replaceAllЗаменяет все вхождения подстроки на другую строку.
- String.prototype.sliceВозвращает часть строки.
- String.prototype.splitРазбивает строку на массив по разделителю.
- String.prototype.startsWithПроверяет, начинается ли строка с заданной подстроки.
- String.prototype.substringВозвращает часть строки между двумя позициями.
- String.prototype.toLowerCaseПереводит строку в нижний регистр.
- String.prototype.toUpperCaseПереводит строку в верхний регистр.
- String.prototype.trimУдаляет пробельные символы с начала и конца строки.
- String.prototype.trimEndУдаляет пробелы и переводы строк в конце строки.
- String.prototype.trimStartУдаляет пробелы и переводы строк в начале строки.
- Template literalСтрока в обратных кавычках с подстановками и переносами строк.
Массивы
- Array.prototype.atВозвращает элемент по индексу, поддерживает отрицательные индексы.
- Array.prototype.concatОбъединяет массивы в новый массив.
- Array.prototype.entriesВозвращает пары индекс — элемент для перебора в цикле for...of.
- Array.prototype.everyПроверяет, что все элементы массива подходят под условие.
- Array.prototype.fillЗаполняет массив одним значением.
- Array.prototype.filterСоздаёт новый массив из элементов, прошедших проверку.
- Array.prototype.findВозвращает первый элемент, прошедший проверку.
- Array.prototype.findIndexВозвращает индекс первого элемента, подходящего под условие.
- Array.prototype.findLastИщет с конца массива первый элемент, подходящий под условие.
- Array.prototype.findLastIndexВозвращает индекс последнего элемента, подходящего под условие.
- Array.prototype.flatРаскрывает вложенные массивы в один.
- Array.prototype.flatMapПрименяет функцию к каждому элементу и раскрывает результат на один уровень.
- Array.prototype.forEachВыполняет функцию для каждого элемента массива.
- Array.fromСоздаёт массив из строки, Set, Map или другого перебираемого объекта.
- Array.prototype.includesПроверяет, есть ли значение в массиве.
- Array.prototype.indexOfИщет значение в массиве и возвращает его индекс.
- Array.isArrayПроверяет, является ли значение массивом.
- Array.prototype.joinОбъединяет элементы массива в строку.
- Array.prototype.keysВозвращает индексы массива.
- Array.prototype.lastIndexOfИщет значение с конца массива и возвращает его индекс.
- Array.prototype.lengthКоличество элементов в массиве.
- Array.prototype.mapСоздаёт новый массив, преобразуя каждый элемент.
- Array.ofСоздаёт массив из переданных аргументов.
- Array.prototype.popУдаляет последний элемент массива и возвращает его.
- Array.prototype.pushДобавляет элементы в конец массива.
- Array.prototype.reduceСводит массив к одному значению.
- Array.prototype.reduceRightСворачивает массив в одно значение, проходя справа налево.
- Array.prototype.reverseПереворачивает массив на месте.
- Array.prototype.shiftУдаляет первый элемент массива и возвращает его.
- Array.prototype.sliceВозвращает часть массива.
- Array.prototype.someПроверяет, проходит ли проверку хотя бы один элемент.
- Array.prototype.sortСортирует элементы массива.
- Array.prototype.spliceУдаляет, заменяет или вставляет элементы в середину массива.
- Array.prototype.toReversedВозвращает перевёрнутую копию массива.
- Array.prototype.toSortedВозвращает отсортированную копию массива, не меняя исходный.
- Array.prototype.toSplicedВозвращает копию массива с удалёнными, заменёнными или вставленными элементами.
- Array.prototype.unshiftДобавляет элементы в начало массива.
- Array.prototype.withВозвращает копию массива, в которой заменён один элемент.
Числа и Math
- BigIntЦелые числа любой длины — без потери точности.
- isFiniteПроверяет, что значение превращается в конечное число.
- isNaNПроверяет, получится ли NaN при превращении значения в число.
- Math.absВозвращает модуль числа — его значение без знака.
- Math.ceilОкругляет число вверх до целого.
- Math.floorОкругляет число вниз до целого.
- Math.maxВозвращает наибольшее из чисел.
- Math.minВозвращает наименьшее из переданных чисел.
- Math.PIКонстанта π — отношение длины окружности к диаметру.
- Math.powВозводит число в степень.
- Math.randomВозвращает случайное число от 0 до 1.
- Math.roundОкругляет число до ближайшего целого.
- Math.signВозвращает знак числа: 1, -1 или 0.
- Math.sqrtВозвращает квадратный корень числа.
- Math.truncОтбрасывает дробную часть числа.
- NaNОсобое значение «не число» — результат неудачной математической операции.
- Number()Превращает значение в число.
- Number.EPSILONНаименьшая разница между 1 и следующим числом — для сравнения дробных чисел.
- Number.isFiniteПроверяет, что значение — конечное число (не NaN и не Infinity).
- Number.isIntegerПроверяет, является ли значение целым числом.
- Number.isNaNПроверяет, что значение — NaN, без преобразования типов.
- Number.isSafeIntegerПроверяет, что целое число не выходит за пределы точной точности.
- Number.MAX_SAFE_INTEGERНаибольшее целое число, которое хранится без потери точности.
- Number.prototype.toFixedФорматирует число с заданным количеством знаков после запятой.
- Number.prototype.toLocaleStringФорматирует число по правилам языка: разделители разрядов, валюта, проценты.
- Number.prototype.toPrecisionФорматирует число с заданным количеством значащих цифр.
- Number.prototype.toStringПревращает число в строку, в том числе в другой системе счисления.
- parseFloatЧитает дробное число из начала строки.
- parseIntПреобразует строку в целое число.
Объекты и JSON
- JSON.parseРазбирает строку JSON и возвращает значение.
- JSON.stringifyПреобразует значение в строку в формате JSON.
- Object.assignКопирует свойства из одних объектов в другой.
- Object.createСоздаёт объект с заданным прототипом.
- Object.definePropertyСоздаёт свойство с точными настройками: только для чтения, скрытое, с геттером.
- Object.entriesВозвращает массив пар «имя свойства и значение».
- Object.freezeЗапрещает любые изменения объекта.
- Object.fromEntriesСоздаёт объект из списка пар ключ — значение.
- Object.getPrototypeOfВозвращает прототип объекта.
- Object.groupByГруппирует элементы массива по ключу.
- Object.hasOwnПроверяет, есть ли у объекта собственное свойство.
- Object.prototype.hasOwnPropertyПроверяет, есть ли у объекта собственное свойство (старый способ).
- Object.isСравнивает два значения почти как ===, но правильно обрабатывает NaN и -0.
- Object.isFrozenПроверяет, заморожен ли объект.
- Object.keysВозвращает массив имён свойств объекта.
- Object.sealЗапрещает добавлять и удалять свойства, но разрешает менять существующие.
- Object.valuesВозвращает массив значений свойств объекта.
Map и Set
- MapКоллекция пар ключ — значение, где ключом может быть что угодно.
- Map.prototype.clearУдаляет все записи из Map.
- Map.prototype.deleteУдаляет запись по ключу.
- Map.prototype.entriesВозвращает пары ключ — значение Map.
- Map.prototype.forEachВызывает функцию для каждой записи Map.
- Map.prototype.getВозвращает значение по ключу.
- Map.groupByГруппирует элементы в Map по любому ключу.
- Map.prototype.hasПроверяет, есть ли ключ в Map.
- Map.prototype.keysВозвращает ключи Map.
- Map.prototype.setДобавляет или заменяет значение по ключу.
- Map.prototype.sizeКоличество записей в Map.
- Map.prototype.valuesВозвращает значения Map.
- SetКоллекция уникальных значений.
- Set.prototype.addДобавляет значение в Set, если его там ещё нет.
- Set.prototype.clearУдаляет все значения из Set.
- Set.prototype.deleteУдаляет значение из Set.
- Set.prototype.differenceВозвращает значения, которые есть только в первом множестве.
- Set.prototype.forEachВызывает функцию для каждого значения Set.
- Set.prototype.hasПроверяет, есть ли значение в Set.
- Set.prototype.intersectionВозвращает общие значения двух множеств.
- Set.prototype.isSubsetOfПроверяет, что все значения множества входят в другое.
- Set.prototype.sizeКоличество значений в Set.
- Set.prototype.unionОбъединяет два множества.
- WeakMapMap, ключами которого могут быть только объекты, и они не мешают сборке мусора.
- WeakSetМножество объектов, которое не мешает их сборке мусора.
Дата и время
- DateДата и время: создание, чтение частей, вычисления.
- Date.prototype.getDateВозвращает день месяца.
- Date.prototype.getDayВозвращает день недели — число от 0 до 6, где 0 — воскресенье.
- Date.prototype.getFullYearВозвращает год.
- Date.prototype.getHoursВозвращает час.
- Date.prototype.getMinutesВозвращает минуты.
- Date.prototype.getMonthВозвращает месяц — число от 0 до 11.
- Date.prototype.getSecondsВозвращает секунды.
- Date.prototype.getTimeВозвращает дату как число миллисекунд.
- Date.prototype.getTimezoneOffsetВозвращает смещение часового пояса в минутах.
- Date.nowВозвращает текущее время как число миллисекунд.
- Date.parseРазбирает строку с датой и возвращает метку времени.
- Date.prototype.setDateУстанавливает день месяца — удобно прибавлять и вычитать дни.
- Date.prototype.setFullYearУстанавливает год, а при желании и месяц с днём.
- Date.prototype.setHoursУстанавливает час, а при желании минуты, секунды и миллисекунды.
- Date.prototype.setMonthУстанавливает месяц.
- Date.prototype.toISOStringВозвращает дату в формате ISO 8601 по UTC.
- Date.prototype.toLocaleDateStringФорматирует дату без времени по правилам языка.
- Date.prototype.toLocaleStringФорматирует дату вместе со временем по правилам языка.
- Date.prototype.toLocaleTimeStringФорматирует время без даты по правилам языка.
- Date.UTCВозвращает метку времени для даты, заданной по UTC.
Форматирование (Intl)
- Intl.CollatorСравнивает строки по правилам языка — для быстрой сортировки по алфавиту.
- Intl.DateTimeFormatФорматирует даты и время по правилам языка.
- Intl.ListFormatСклеивает список в фразу с запятыми и союзом: «a, b и c».
- Intl.NumberFormatФорматирует числа, валюты, проценты и единицы измерения по правилам языка.
- Intl.PluralRulesВыбирает форму слова для числа: 1 file, 2 files.
- Intl.RelativeTimeFormatФорматирует относительное время: «3 дня назад», «через час».
Регулярные выражения
- RegExpРегулярное выражение — шаблон для поиска и замены текста.
- RegExp.escapeЭкранирует строку, чтобы безопасно вставить её в регулярное выражение.
- RegExp.prototype.execИщет совпадение и возвращает подробности: группы и позицию.
- RegExp flagsФлаги меняют поведение поиска: g — все совпадения, i — без учёта регистра и другие.
- Named capture groupsИменованные группы — части совпадения с понятными именами.
- RegExp.prototype.testПроверяет, есть ли в строке совпадение с шаблоном.
- String.prototype.matchИщет совпадения с регулярным выражением.
- String.prototype.matchAllВозвращает все совпадения вместе с группами.
- String.prototype.searchВозвращает позицию первого совпадения с регулярным выражением.
Операторы
- deleteУдаляет свойство объекта.
- Destructuring assignmentДостаёт значения из массива или объекта в отдельные переменные.
- Exponentiation (**)Возводит число в степень.
- inПроверяет, есть ли у объекта свойство (в том числе унаследованное).
- Increment and decrement (++ --)Увеличивает или уменьшает переменную на единицу.
- instanceofПроверяет, создан ли объект классом (или его наследником).
- Logical AND (&&)Логическое И: возвращает первое ложное значение или последнее.
- Logical assignment (??=, ||=, &&=)Присваивает значение, только если переменная пустая, ложная или истинная.
- Logical OR (||)Логическое ИЛИ: возвращает первое истинное значение.
- newСоздаёт новый объект с помощью класса или функции-конструктора.
- Nullish coalescing (??)Возвращает значение справа, если слева null или undefined.
- Optional chaining (?.)Безопасное обращение к свойству: вернёт undefined вместо ошибки, если объекта нет.
- Remainder (%)Остаток от деления.
- Spread syntaxТри точки раскрывают массив или объект на отдельные элементы.
- Strict equality (===)Сравнивает значения без преобразования типов.
- Conditional (ternary) operatorВыбирает одно из двух значений по условию — короткий if...else.
- typeofВозвращает строку с типом значения.
Переменные и инструкции
- constОбъявляет переменную, которой нельзя присвоить новое значение.
- for...inПеребирает имена свойств объекта.
- for...ofПеребирает значения массива, строки, Map, Set и других перебираемых объектов.
- letОбъявляет переменную, значение которой можно менять.
- switchВыбирает ветку кода по значению.
- 'use strict'Включает строгий режим: ошибки, которые раньше были тихими, становятся явными.
- varУстаревший способ объявить переменную.
Функции
- Arrow function (=>)Короткая запись функции.
- Default parametersЗначение параметра, если аргумент не передан.
- Function.prototype.applyВызывает функцию с указанным this и массивом аргументов.
- Function.prototype.bindСоздаёт копию функции с закреплённым this и, при желании, аргументами.
- Function.prototype.callВызывает функцию с указанным this и аргументами.
- Rest parametersСобирает оставшиеся аргументы функции в массив.
Классы
- classОбъявляет класс — шаблон для создания объектов с общими методами.
- extendsСоздаёт класс-наследник, который получает свойства и методы родителя.
- get / setСвойства, за которыми скрываются функции: чтение вызывает get, запись — set.
- Private fields (#)Поля и методы, доступные только внутри класса.
- staticМетод или свойство самого класса, а не его объектов.
- superВызывает конструктор или метод родительского класса.
Ошибки
- AggregateErrorНесколько ошибок в одной — её выбрасывает Promise.any.
- ErrorБазовый класс ошибок: создаётся и выбрасывается через throw.
- Error.prototype.causeИсходная причина ошибки — чтобы не потерять её при повторном выбросе.
- RangeErrorОшибка «значение вне допустимого диапазона».
- ReferenceErrorОшибка «переменная не существует».
- SyntaxErrorОшибка синтаксиса — в коде, в JSON или в регулярном выражении.
- throwВыбрасывает ошибку и прерывает выполнение функции.
- try...catchПерехватывает ошибки, чтобы программа не остановилась.
- TypeErrorОшибка «значение не того типа» — например, вызов метода у undefined.
Промисы и асинхронность
- async functionФункция, которая всегда возвращает промис и внутри которой можно использовать await.
- awaitЖдёт результата промиса и возвращает его значение.
- fetchОтправляет HTTP-запрос и возвращает промис ответа.
- for await...ofПеребирает асинхронные источники данных, дожидаясь каждого элемента.
- PromiseОбещание результата, который будет готов позже: успех или ошибка.
- Promise.allЖдёт выполнения всех промисов параллельно.
- Promise.allSettledЖдёт завершения всех промисов и сообщает результат каждого — успех или ошибку.
- Promise.anyВозвращает первый успешный результат, ошибки пропускает.
- Promise.prototype.catchОбрабатывает ошибку промиса.
- Promise.prototype.finallyВыполняет действие после промиса — и при успехе, и при ошибке.
- Promise.raceВозвращает результат первого завершившегося промиса — успешного или нет.
- Promise.rejectСоздаёт промис, который сразу отклонён с заданной ошибкой.
- Promise.resolveСоздаёт промис, который сразу выполнен с заданным значением.
- Promise.prototype.thenЗадаёт, что сделать с результатом промиса.
- Promise.withResolversСоздаёт промис и отдаёт функции resolve и reject наружу.
Глобальные функции
- atobРаскодирует строку из Base64.
- Boolean()Превращает значение в true или false.
- btoaКодирует строку в Base64.
- clearIntervalОстанавливает повторяющийся setInterval.
- clearTimeoutОтменяет запланированный setTimeout.
- crypto.randomUUIDСоздаёт случайный уникальный идентификатор (UUID).
- decodeURIComponentРаскодирует текст, закодированный для URL.
- encodeURIComponentКодирует текст для безопасной вставки в часть URL.
- globalThisГлобальный объект, одинаково доступный в браузере, воркере и Node.js.
- queueMicrotaskСтавит функцию в очередь микрозадач — она выполнится раньше любого таймера.
- setIntervalВыполняет функцию снова и снова с заданным интервалом.
- setTimeoutВыполняет функцию один раз через заданное время.
- String()Превращает любое значение в строку.
- structuredCloneСоздаёт глубокую копию объекта со всеми вложенными данными.
- URLРазбирает адрес на части и собирает его обратно.
- URLSearchParamsЧитает и собирает параметры адреса (часть после ?).
Символы и итераторы
- function*Функция-генератор: выдаёт значения по одному через yield.
- SymbolСоздаёт уникальное значение — например, для ключа, который не пересечётся с другими.
- Symbol.forВозвращает общий символ по имени: одинаковое имя — один и тот же символ.
- Symbol.iteratorОсобый ключ, который делает объект перебираемым в for...of и spread.
Консоль
- console.assertВыводит ошибку в консоль, только если условие ложно.
- console.countСчитает, сколько раз была вызвана эта строка.
- console.dirПоказывает объект как дерево свойств.
- console.errorВыводит сообщение об ошибке — в консоли оно выделено красным.
- console.groupОбъединяет сообщения консоли в сворачиваемую группу с отступом.
- console.infoВыводит информационное сообщение.
- console.logВыводит значения в консоль.
- console.tableПоказывает массив объектов в консоли браузера в виде таблицы.
- console.timeИзмеряет, сколько времени выполнялся код.
- console.traceВыводит цепочку вызовов, которая привела к этой строке.
- console.warnВыводит предупреждение — в консоли оно выделено жёлтым.