Written by Jieun
Home
  • 전체 (129)
    • Git (1)
    • React, Next (57)
    • HTML & CSS (2)
    • JavaScript, TypeScript (24)
    • Node.js (11)
    • MongoDB (4)
    • AWS (2)
    • 코딩테스트, 알고리즘 (17)
    • etc (8)
    • 일상 (1)
블로그 내 검색

Written by Jieun

👩🏻‍💻 내 마음대로 Today I Learned

  • JavaScript, TypeScript

    [JS] 자바스크립트 URL.searchParams

    2023. 8. 24.

    by. 지은이: 김지은

    728x90

     

    searchParams는 자바스크립트에서 URL 쿼리 스트링 부분을 쉽게 다룰 수 있게 도와주는 기능

     

    1. 쿼리 스트링

    URL에 정보를 넘겨줘야 할 때 주소 뒤에 '?' 물음표와 함께 붙는 쿼리 스트링에 담겨진다.

    쿼리 스트링은 'key=value'로 구성되고 여러개를 묶을 땐 '&'로 구분한다.

     

    예를 들어 https://tistory.com?page=1&category=blog 라는 URL이 있을 때

    page는 key값이 되고, 1은 value값, 또 뒤에 category가 키, blog가 value값이 된다.

     

    2. 메소드

    const url = new URL("https://tistory.com");
    const url = new URLSearchParams(window.location.search);

    직접 URL 객체를 설정해도 되고, 현재 페이지 경로에서 쿼리 매개변수를 다루고 싶다면 window.loacation.search를 넣으면 된다.

    현재 페이지에 대한 객체를 생성하고 메소드로 업데이트 했다면

    const newPathname = `${window.location.pathname}?${url.toString()}` 해주면 '&'기호로 연결한 문자열을 반환한 새로운 url을 나타낸다.

     

     

    1) append

    url.searchParams.append("page", "1");
    url.searchParams.append("category", "blog");
    url.toString() // 'https://tistory.com?page=1&category=blog'

    append는  key-value 쌍으로 항목을 넣어 쿼리 파라미터를 추가하는 메소드로

    "https://tistory.com?page=1&category=blog" url이 이렇게 구성된다.

     

    2. set

    url.searchParams.set("page", 2);
    url.toString() // 'https://tistory.com?page=2&category=blog'

    set은 매개변수로 전달한 값으로 쿼리 파라미터 값을 변경하여 "https://tistory.com?page=2&category=blog" url이 이렇게 바뀐다.

     

    3. delete

    url.searchParams.delete("category")
    url.toString() // 'https://tistory.com?page=2

    delete는 쿼리 파라미터를 삭제해서 "https://tistory.com?page=2" url이 이렇게 변경된다.

     

    이 외에도 많지만 이렇게 URL 쿼리 파라미터를 추가, 변경, 삭제할 수 있다.

    저작자표시 (새창열림)

    'JavaScript, TypeScript' 카테고리의 다른 글

    [JS] 자바스크립트 최신문법 정리하기  (1) 2024.04.08
    [TS] 타입스크립트 제네릭(Generic)  (0) 2023.10.27
    [JS] Fetch()로 formdata post 요청하기  (0) 2023.04.16
    [JS] 자바스크립트에 Fetch() 함수로 HTTP 요청하기  (0) 2023.04.15
    [TS] 타입스크립트 유틸리티 타입(Utility types)  (0) 2023.04.02

    댓글

    관련글

    • [JS] 자바스크립트 최신문법 정리하기 2024.04.08
    • [TS] 타입스크립트 제네릭(Generic) 2023.10.27
    • [JS] Fetch()로 formdata post 요청하기 2023.04.16
    • [JS] 자바스크립트에 Fetch() 함수로 HTTP 요청하기 2023.04.15
    맨 위로
전체 글 보기
Tistory 로그인
Tistory 로그아웃
로그아웃 글쓰기 관리

Today

Total

Designed by Nana
블로그 이미지
지은이: 김지은

티스토리툴바