쿼리스트링을 파싱해서 object 형태로 변환해서 사용하면 편리합니다. 이런 작업을 해주는 대표적인 라이브러리로 qs가 있습니다.
Object.fromEntries 메서드를 이용하면 라이브러리를 사용하지 않아도 간단하게 쿼리 스트링을 파싱할 수 있습니다. 이 메서드는 key-value 쌍으로 이루어진 이터러블(Array, Map)을 받아서 Object로 바꿔줍니다.
이를 이용해서 문자열 "?foo=unicorn&ilike=pizza"을 객체로 만들어 보겠습니다.
const qs = (string) => {
const arr = string.slice(1).split("&");
const list = arr.map(item => item.split("="));
const obj = Object.fromEntries(list);
return obj;
}
const result = qs('?foo=unicorn&ilike=pizza');
console.log(result); // { foo: 'unicorn', ilike: 'pizza' }
IE를 제외한 다른 메이저 브라우저들에서는 사용할 수 있는 방법입니다.