URLSearchParams: простой способ работы с параметрами URL-адресов
URLSearchParams - это новый интерфейс JavaScript, представленный в ES6, который предназначен для работы с параметрами URL. Он предоставляет специальные методы для управления параметрами в адресной строке и предоставляет удобный способ для получения, установки и удаления параметров с помощью нескольких простых методов.
Для использования URLSearchParams, вы можете создать новый объект URLSearchParams, передавая ему строку с параметрами URL, или использовать методы URL объекта для получения и установки параметров:
// создание нового объекта URLSearchParams
const params = new URLSearchParams('?name=John&age=30');
// получение значения параметра
console.log(params.get('name')); // "John"
// установка значения параметра
params.set('name', 'William');
console.log(params.toString()); // "name=William&age=30"
// удаление параметра
params.delete('age');
console.log(params.toString()); // "name=William"
Также доступны методы для получения всех параметров в виде массива или итератора. Например:
// получение всех параметров
console.log(Array.from(params.entries())); // [["name", "William"]]
// перебор параметров с помощью for..of
for (const [name, value] of params) {
console.log(`${name}: ${value}`);
}
URLSearchParams также может быть использован с объектом URL для удобного доступа к параметрам адреса:
// создание объекта URL с параметрами
const url = new URL('https://example.com/?name=John&age=30');
// получение объекта URLSearchParams
const params = url.searchParams;
// получение значения параметра
console.log(params.get('name')); // "John"
// установка значения параметра
params.set('name', 'William');
console.log(url.toString()); // "https://example.com/?name=William&age=30"
// удаление параметра
params.delete('age');
console.log(url.toString()); // "https://example.com/?name=William"
В целом, URLSearchParams представляет собой удобный и простой способ работы с параметрами URL в JavaScript, который может быть использован как для чтения, так и для изменения адресов страниц.