JavaScript/JavaScript
encodeURIComponent()
니비앙
2023. 5. 20. 16:50
url을 입력할 때 params에 특수문자가 들어가는 경우 키 값과 혼동될 수 있다.
예를 들어 ?query=검색어&range=all
라는 검색 url에서 검색어 자리에 &이 들어간다면 어떨까?
'?'가 들어간다면?
이런 경우 온전히 키 값을 보내기 위해 인코딩을 해주는 기능이 있었으니 그게 바로 encodeURIComponent()다.
해당 함수를 value에 사용하면 된다.
`...?query=${encodeURIComponent("검색어")}&range=${encodeURIComponent("all")}`
그리고 이것과 같이 쓰기 유용한 매소드로 Object.entries()가 있다.
Object.entries()
const object1 = {
a: 'somestring',
b: 42
};
console.log(Object.entries(object1))
// (2) [Array(2), Array(2)]
0: (2) ['a', 'somestring']
1: (2) ['b', 42]
이런식으로 배열이 담겨있는 배열을 반환하는데, 자주 쓰이는 키와 값들을 변수화하여 [key, value]로 맵핑하면 유지보수하기 용이한 로직을 만들 수 있다.
.map(([key, value]) => `${key}=${encodeURIComponent(value)}`)