JavaScript URLSearchParams.get() — значення параметра
Метод get() повертає перше значення параметра — або null, якщо такого параметра немає.
Загальний опис
Два підступи, які варто знати одразу.
Перший: значення завжди рядок. ?page=2 дасть '2', а не 2. Порівняння get('page') === 2 не спрацює ніколи.
Другий: якщо ключ повторюється (?tag=css&tag=js), метод віддасть лише перший — решту доведеться брати через getAll().
Параметр без значення (?debug) дає порожній рядок, а не null: він таки присутній.
- Порада
-
Число з адреси перетворюй явно:
автор: NagarDNumber(params.get('page')) || 1. Так порожній чи некоректний параметр не перетвориться наNaN.
Переглядачі
| Переглядач | ||||||
|---|---|---|---|---|---|---|
| get | 49+ | 29+ | 10.1+ | 36+ | 17+ | - |
| Переглядач | ||||
|---|---|---|---|---|
| get | 49+ | yes | yes | 10.3+ |
Приклади
+ запропонувати свій приклад у пісочниці
Завжди рядок, завжди перше значення.
const params = new URLSearchParams('?page=2&tag=css&tag=js&debug');
console.log(params.get('page')); // '2' — РЯДОК
console.log(params.get('page') === 2); // false!
console.log(params.get('tag')); // 'css' — лише перший
console.log(params.getAll('tag')); // ['css', 'js']
console.log(params.get('debug')); // '' — є, але порожній
console.log(params.get('missing')); // null — немає
// число — явно
const page = Number(params.get('page')) || 1;
Коментарі
Коментарів ще немає — будьте першим!