window.location과 document.location은 같은 객체입니다
W3C 및 WHATWG 표준에 따르면 window.location과 document.location은 동일한 Location 객체를 참조합니다. 즉, 두 속성 모두 현재 문서의 URL 정보를 담고 있는 같은 객체를 가리키며, 기능상 차이는 없습니다.
그럼에도 window.location을 사용해야 하는 이유
두 속성이 기능적으로 같다 하더라도, 실무에서는 항상 window.location을 사용하는 것이 좋습니다.
- 브라우저 호환성: 일부 오래된 브라우저에서는
document.location이 읽기 전용으로 처리되어 URL 변경이 불가능했습니다. 반면window.location은 모든 환경에서 안정적으로 동작합니다. - 코드의 명확성:
window.location은 전역 객체의 속성이라는 점에서 그 의미가 더 직관적이며, 다른 개발자가 코드를 읽을 때 혼동을 줄여줍니다. - 표준 관례: 대부분의 개발자와 코드베이스에서
window.location사용이 사실상의 표준으로 자리잡았습니다.
사용 예시
// 현재 URL 확인하기
console.log(window.location.href);
// 페이지 이동하기
window.location.href = 'https://example.com';결론적으로, window.location과 document.location은 같은 객체를 반환하지만, 신뢰성과 호환성을 고려할 때 window.location 사용을 권장합니다.