JavaScript의 unescape() 함수는 인코딩된 문자열을 원래 상태로 디코딩하는 데 사용됩니다. 이 함수는 JavaScript 버전 1.5부터 폐기(deprecated)되었습니다. 따라서 실제 프로젝트에서는 decodeURI() 또는 decodeURIComponent()와 같은 최신 대체 함수를 사용하는 것이 좋습니다.
unescape() 함수란?
unescape()는 escape() 함수로 인코딩된 문자열을 다시 원본 문자열로 되돌려주는 전역 함수입니다. URL에 포함된 특수 문자나 한글 등을 처리할 때 과거에 많이 사용되었으나, 표준에서 제외되었기 때문에 새로운 코드에서는 사용을 피해야 합니다.
예제 코드
다음은 unescape() 함수의 동작을 확인할 수 있는 예제입니다.
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
<style>
body {
font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
}
.sample,
.result {
font-size: 18px;
font-weight: 500;
color: red;
}
.result {
color: blueviolet;
}
</style>
</head>
<body>
<h1>JavaScript unescape() 함수</h1>
<div class="sample"></div>
<div class="result"></div>
<button class="Btn">CLICK HERE</button>
<h3>
위 버튼을 클릭하면 아래 URL이 디코딩됩니다
</h3>
<script>
let sampleEle = document.querySelector(".sample");
let resultEle = document.querySelector(".result");
let url = "Hello World?image=8sf.jpg&size=400px";
sampleEle.innerHTML = "Encoded url = " + escape(url) + "<br>";
document.querySelector(".Btn").addEventListener("click", () => {
resultEle.innerHTML = "Decoded url = " + unescape(url);
});
</script>
</body>
</html>실행 결과
위 코드를 실행하면 화면에 인코딩된 URL이 먼저 표시됩니다.

'CLICK HERE' 버튼을 클릭하면 unescape() 함수에 의해 디코딩된 결과가 아래와 같이 출력됩니다.

정리 및 주의사항
unescape()는 오래된 브라우저 호환성을 위해 남아 있을 뿐, 현재는 표준에서 권장하지 않는 함수입니다. 문자열 인코딩·디코딩이 필요하다면 다음과 같은 대체 함수를 사용하세요.
encodeURI()/decodeURI(): URL 전체를 인코딩·디코딩할 때 사용encodeURIComponent()/decodeURIComponent(): URL 구성 요소(파라미터 값 등)를 개별적으로 처리할 때 사용