Основные API
| Функция | Что делает |
|---|
encodeURI | кодирует URI целиком, сохраняя :/?#[]@!$&'()*+,;= |
decodeURI | обратная к encodeURI |
encodeURIComponent | кодирует компонент (query/path segment), экранирует и &, =, / и т.д. |
decodeURIComponent | обратная к encodeURIComponent |
Когда что
const url = "https://example.com/поиск?q=a b";
encodeURI(url);
const q = "a&b=c";
encodeURIComponent(q);
Типичная ошибка: собрать query через encodeURI — & и = не экранируются.
const params = new URLSearchParams({ q: "a&b", page: "1" });
params.toString();
Современный путь: URL + URLSearchParams.
На собеседовании
Разница encodeURI vs encodeURIComponent; для пользовательского ввода в query — всегда encodeURIComponent или URLSearchParams.