Справочник JavaScript
Основы языка и работа со страницей: данные, функции, DOM, события, формы, асинхронные запросы и локальные настройки. Примеры для самостоятельной проверки.
Array.toSorted(): сортировка новой копии массива
Метод toSorted возвращает новый отсортированный массив, сохраняя исходный порядок старого. Он полезен, когда интерфейсу нужна сортировка, а исходные данные должны оставаться неизменными.
Array.toReversed(): обратный порядок без изменения источника
Метод toReversed создаёт новый массив с элементами в обратном порядке. В отличие от reverse он не переставляет элементы исходной коллекции.
Array.toSpliced(): вставка и удаление в новой коллекции
Метод toSpliced строит новый массив с удалённым или добавленным фрагментом. Он позволяет описать изменение списка, не меняя исходный массив на месте.
Array.with(): замена одного элемента без мутации
Метод with создаёт массив с заменой элемента по индексу, оставляя исходную коллекцию без изменения. Отрицательный индекс отсчитывается с конца.
structuredClone(): глубокая копия поддерживаемых данных
Функция structuredClone копирует поддерживаемые структуры данных, включая вложенные объекты и циклические ссылки. Она полезна там, где поверхностного spread недостаточно.
String.repeat(): повтор строки заданное число раз
Метод repeat создаёт новую строку из повторяющихся копий исходной. Он подходит для небольших текстовых разделителей и учебного вывода, когда число повторений известно и ограничено.
String.padEnd(): дополнение строки справа
Метод padEnd дополняет строку до заданной длины символами справа. Он удобен для простого текстового отчёта, но не заменяет табличную раскладку HTML и CSS.
Object.is(): сравнение NaN и знака нуля
Object.is сравнивает два значения без преобразования типов. Основные отличия от строгого равенства заметны для NaN и положительного или отрицательного нуля.
Number.isInteger(): проверка целого числа без преобразования
Number.isInteger проверяет, является ли значение типа number целым в его текущем представлении. Строки с цифрами, NaN и бесконечности не проходят такую проверку.
Math.trunc(): удаление дробной части числа
Math.trunc убирает дробную часть и приближает результат к нулю. Для отрицательных значений это отличается от округления вниз через Math.floor.
String.codePointAt(): кодовая точка по позиции в строке
Метод codePointAt возвращает числовую кодовую точку Unicode с указанной позиции. При этом сама позиция отсчитывается в кодовых единицах UTF-16, а не в видимых символах.
String.fromCodePoint(): строка из кодовых точек Unicode
String.fromCodePoint создаёт строку из одного или нескольких числовых значений Unicode. Метод поддерживает точки за пределами базовой многоязычной плоскости.
Object.seal(): запрет изменения набора свойств
Object.seal фиксирует набор собственных свойств объекта: новые нельзя добавить, существующие нельзя удалить или перенастроить. Запись в обычное изменяемое свойство при этом может оставаться разрешённой.
Object.preventExtensions(): запрет добавления новых свойств
Object.preventExtensions запрещает добавлять собственные свойства к существующему объекту. Это более узкое ограничение, чем seal или freeze: часть операций с уже имеющимися свойствами остаётся доступной.
Array.copyWithin(): копирование диапазона внутри массива
CopyWithin переносит копии элементов из одного участка массива в другой, изменяя тот же массив. Длина не увеличивается, а содержимое целевого участка перезаписывается.
Array.fill(): заполнение массива и общая ссылка на объект
Fill заменяет элементы массива одним значением и возвращает тот же массив. Метод удобен для простых начальных значений, но повтор объекта создаёт несколько ссылок на один объект.
Array.entries(): перебор пар индекса и значения
Entries возвращает итератор пар «индекс — значение» для массива. Это удобно, когда в цикле одновременно нужны положение элемента и его содержимое.
Number.parseFloat(): разбор числового начала строки
Number.parseFloat читает допустимое числовое начало строки и возвращает число. Он не проверяет, что вся строка целиком является числом, поэтому подходит не для любой валидации ввода.
JSON.stringify(): сериализация и выбор полей
JSON.stringify преобразует поддерживаемые данные JavaScript в текст JSON. Результат подходит для передачи или сохранения, но не сохраняет все свойства и типы исходного объекта.
JSON.parse с reviver: преобразование выбранных значений
Функция reviver позволяет обработать значения при разборе JSON. Её полезно использовать для заранее описанного формата данных, а не как замену полноценной проверке структуры.
Конструктор URL: разбор адреса и разрешение относительного пути
Объект URL помогает разбирать адрес на составные части и разрешать относительные ссылки. Само создание объекта не выполняет сетевой запрос и не открывает страницу.
URLSearchParams: чтение и изменение повторяющихся параметров
URLSearchParams предоставляет операции над строкой запроса. Он помогает работать с кодированием и повторяющимися именами без ручного разбиения по амперсандам.
encodeURIComponent(): кодирование отдельной части URL
EncodeURIComponent кодирует строку для использования как отдельное значение в URL. Он не предназначен для кодирования готового адреса целиком с сохранением его структуры.
decodeURIComponent(): обратное преобразование и ошибка повреждённой строки
DecodeURIComponent преобразует процентную запись обратно в текст. Вход должен быть корректным для выбранного формата, иначе операция может завершиться исключением.
Перебор Map: порядок вставки и порядок аргументов
Map позволяет перебирать записи в порядке добавления ключей. Это полезно для справочника соответствий, где ключи и значения нужны одновременно.
findLast(): поиск подходящего элемента с конца массива
FindLast возвращает первый подходящий элемент при просмотре массива с конца. Это удобно для поиска последней подходящей записи, когда порядок массива уже имеет определённый смысл.
findLastIndex(): индекс последнего подходящего элемента
FindLastIndex ищет с конца массива и возвращает индекс совпадения. Метод полезен, когда после поиска нужна позиция для последующей операции, а не только само значение.
Number.isSafeInteger(): проверка точного целого числа
Number.isSafeInteger проверяет, находится ли целое значение Number в безопасном диапазоне представления. Это полезно при работе со счётчиками и идентификаторами, где соседние целые должны различаться.
Intl.Collator: сравнение строк с правилами языка
Intl.Collator создаёт функцию сравнения строк с учётом локали. Она подходит для сортировки пользовательских названий, где порядок кодовых единиц не соответствует ожидаемому порядку чтения.
Intl.ListFormat: текстовое перечисление с союзами
Intl.ListFormat превращает набор строк в перечисление по правилам языка. Он полезен для текстовой подсказки о нескольких выбранных значениях без ручного соединения запятых и последнего союза.