여기 소스 살펴보다가 replace 를 이렇게 활용할 수도 있구나.. 인상적이어서 공유해 봅니다

쿼리스트링을 파싱하여 리턴하는 유틸함수(원본 소스를 일부 수정함)

// const url = window.location.href
const getQueryParams = (url) => {
  const params = {}
  const idx = url.indexOf('?') + 1
  const fromIdx = url.slice(idx)
  fromIdx.replace(/([^(?|#)=&]+)(=([^&]*))?/g, ($0, $1, $2, $3) => {
    params[$1] = $3
  })
  return params
}


URL이 아래와 같을 때

http://www.11st.co.kr/product/SellerProductDetail.tmall?method=getSellerProductDetail&prdNo=2228972569&trTypeCd=22&trCtgrNo=895019


리턴 결과

{method: "getSellerProductDetail", prdNo: "2228972569", trTypeCd: "22", trCtgrNo: "895019"}