티스토리 뷰
728x90
velog 블로그에서 tistory로 이전한 데이터 입니다.
도입
옛날에 작성된 코드를 보면 아래와 같이 처리된 코드들이 있다.
function query({name,address,phone}) {
let arr = [];
name && arr.push(`name=${name}`);
address && arr.push(`address=${address}`);
phone && arr.push(`phone=${phone}`);
arr = arr.join('&');
return axios.get(`${URL}/user?${arr}`);
}
의도한 결과는 잘 나올것이다. 하지만 최근에는 URLSearchParams를 사용하면 쉽게 해결할 수 있다.
사용법
function query({name,address,phone}) {
let q = new URLSearchParams();
name && q.set(`name`,name);
address && q.set(`address`,address);
phone && q.set(`phone`,phone);
return axios.get(`${URL}/user?${q.toString()}`);
}
1. query({name:'djlee',address:'suwon'})
"name=djlee&address=suwon"
2. query({name:'djlee',address:'suwon',phone:undefined})
"name=djlee&address=suwon"
3. query({name:'djlee',address:'suwon',phone:'010-1234-1234'})
"name=djlee&address=suwon&phone=010-1234-1234"
URLSearchParams에 대한 다양한 사용법은 MDN URLSearchParams 에서 볼 수 있다.
결론
최신의 방법을 사용하는게 좋은 것 같다.
이 URLSearchParams는 explorer를 제외한 나머지 브라우저에서는 전부 호환이 된다.
explorer가 종료를 발표하지 않았다면 아마 범용성을 고려해서 사용못했던 사람도 있을 수도 있다고 본다.
멈추지말고 계속 공부해보는 습관을 가져야 겠다.
반응형
'CS > Client' 카테고리의 다른 글
PUT vs PATCH (0) | 2023.10.13 |
---|---|
URL 쿼리 파싱은 어떻게 할래? (0) | 2023.10.08 |
Object에 Property 설정 시 성능 고민하기 (0) | 2023.10.08 |
HTML과 URLs (0) | 2023.10.08 |
디자인 시스템 (0) | 2022.05.09 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- SSAFY 특화프로젝트 회고
- 디미터법칙
- PUT vs POST
- 개발프로세스
- nodejs
- 트랜잭션
- nodejs 버전 관리
- 소프트웨어개발프로세스
- UI/UX
- S3
- charset
- 점진적개선
- PresignedURL
- JRE
- LTS 개선
- 자바기초
- SSAFY 퇴소
- 클린코드
- application/x-www-form-urlencoded
- 동기/비동기
- 2022년 회고
- AntPattern
- 개발기록
- 필수단어
- 너디너리데모데이
- Content-Type
- 블로킹/논블로킹
- 콘웨이법칙
- HTTP
- 디자인시스템
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
글 보관함