URLSearchParams
URLSearchParams
인터페이스는 URL의 쿼리 문자열에 대해 작업할 수 있는 유틸리티 메서드를 정의합니다.
URLSearchParams
를 구현하는 객체는 for...of
반복문에 바로 사용할 수 있습니다.
for (const [key, value] of mySearchParams) {}
for (const [key, value] of mySearchParams.entries()) {}
주의:
이 기능은 Web Worker에서 사용할 수 있습니다.생성자
URLSearchParams()
-
URLSearchParams
객체 인스턴스를 반환합니다.
메서드
URLSearchParams.append()
(en-US)- 특정 키/값을 새로운 검색 매개변수로 추가합니다.
URLSearchParams.delete()
(en-US)- 특정 매개변수를 찾아 키와 값 모두 지웁니다.
URLSearchParams.entries()
(en-US)- 객체의 모든 키/값 쌍을 순회할 수 있는
순회기
를 반환합니다. URLSearchParams.forEach()
(en-US)- 객체의 모든 값을 순회하며 지정한 콜백을 호출합니다.
URLSearchParams.get()
(en-US)- 주어진 검색 매개변수에 연결된 첫 번째 값을 반환합니다.
URLSearchParams.getAll()
(en-US)- 주어진 검색 매개변수에 연결된 모든 값을 반환합니다.
URLSearchParams.has()
(en-US)- 주어진 검색 매개변수의 존재 여부를 나타내는
Boolean
을 반환합니다. URLSearchParams.keys()
(en-US)- 객체의 모든 키를 순회할 수 있는
순회기
를 반환합니다. URLSearchParams.set()
(en-US)- 주어진 검색 매개변수에 연결된 값을 설정합니다. 연결된 값이 다수라면 나머지는 제거합니다.
URLSearchParams.sort()
(en-US)- 모든 키/값 쌍을 키로 정렬합니다.
URLSearchParams.toString()
- URL에 쓰기 적합한 형태의 쿼리 문자열을 반환합니다.
URLSearchParams.values()
(en-US)- 객체의 모든 값을 순회할 수 있는
순회기
를 반환합니다.
예제
var paramsString = "q=URLUtils.searchParams&topic=api";
var searchParams = new URLSearchParams(paramsString);
//Iterate the search parameters.
for (let p of searchParams) {
console.log(p);
}
searchParams.has("topic") === true; // true
searchParams.get("topic") === "api"; // true
searchParams.getAll("topic"); // ["api"]
searchParams.get("foo") === null; // true
searchParams.append("topic", "webdev");
searchParams.toString(); // "q=URLUtils.searchParams&topic=api&topic=webdev"
searchParams.set("topic", "More webdev");
searchParams.toString(); // "q=URLUtils.searchParams&topic=More+webdev"
searchParams.delete("topic");
searchParams.toString(); // "q=URLUtils.searchParams"
주의점
URLSearchParams
생성자는 전체 URL을 분석하지 않습니다. 그러나, 맨 앞의 ?
는 제거합니다.
var paramsString1 = "http://example.com/search?query=%40"; var searchParams1 = new URLSearchParams(paramsString1); searchParams1.has("query"); // false searchParams1.has("http://example.com/search?query"); // true searchParams1.get("query"); // null searchParams1.get("http://example.com/search?query"); // "@" (equivalent to decodeURIComponent('%40')) var paramsString2 = "?query=value"; var searchParams2 = new URLSearchParams(paramsString2); searchParams2.has("query"); // true var url = new URL("http://example.com/search?query=%40"); var searchParams3 = new URLSearchParams(url.search); searchParams3.has("query") // true
명세
명세 | 상태 | 비고 |
---|---|---|
URL The definition of 'URLSearchParams' in that specification. |
Living Standard | Initial definition. |
브라우저 호환성
BCD tables only load in the browser