JavaScript - Location Object
안녕하세요, 웹 개발자 지망생 여러분! 오늘 우리는 JavaScript에서 가장 유용하고 흥미로운 객체 중 하나인 Location 객체에 대해 깊이 파고들어보겠습니다. 여러분의 친절한 이웃 컴퓨터 선생님이자 저는 이 여정을 안내해드리는 것을 기대하고 있습니다. 따뜻한 커피(또는 차, 당신의 취향에 따라)를 한 잔 챙겨서, 시작해보겠습니다!
Window Location Object
Location 객체는 웹 브라우저의 GPS와 같습니다. 현재 브라우저 창의 URL에 대한 정보를 포함하고 있으며, 해당 URL을 변경하는 메서드를 제공합니다. 인터넷의 광대한 바다에서 당신의 개인 导航자라고 생각해보세요!
Location 객체에 접근하려면 window.location
또는 간단히 location
을 사용합니다. 간단한 예제를 보겠습니다:
console.log(window.location);
console.log(location); // 두 가지 모두 동일한 결과를 줄 것입니다.
이 코드를 브라우저 콘솔에서 실행하면 현재 페이지의 URL의 모든 속성을 볼 수 있습니다. 멋지지 않나요?
JavaScript Location Object Properties
이제 Location 객체의 다양한 속성을 하나씩 분해해보겠습니다. 이 속성들은 주소의 다양한 부분처럼, 우리가 인터넷에서 어디에 있는지에 대한 특정 정보를 제공합니다.
1. href
href
속성은 현재 페이지의 완전한 URL을 제공합니다.
console.log(location.href);
// 출력 예시: https://www.example.com/page?id=123#section
2. protocol
이 속성은 사용 중인 프로토콜을 알려줍니다 (보통 "http:" 또는 "https:").
console.log(location.protocol);
// 출력: https:
3. host
host
속성은 도메인 이름과 포트 번호(지정되었다면)를 제공합니다.
console.log(location.host);
// 출력 예시: www.example.com:8080
4. hostname
host
와 비슷하지만, hostname
은 포트 번호 없는 도메인 이름만 제공합니다.
console.log(location.hostname);
// 출력: www.example.com
5. port
이 속성은 URL의 포트 번호를 지정합니다.
console.log(location.port);
// 출력 예시: 8080 (또는 기본 포트이면 비어 있음)
6. pathname
pathname
속성은 URL의 경로를 제공합니다 (도메인 이름 뒤의 모든 것).
console.log(location.pathname);
// 출력 예시: /page
7. search
이 속성은 URL의 쿼리 문자열 부분을 반환합니다 (또는 '?').
console.log(location.search);
// 출력 예시: ?id=123
8. hash
hash
속성은 URL의 앵커 부분을 제공합니다 (또는 '#').
console.log(location.hash);
// 출력 예시: #section
JavaScript Location Object Methods
이제 속성을 탐험한 후, Location 객체와 상호작용할 수 있는 몇 가지 메서드를 살펴보겠습니다. 이 메서드들은 우리의 웹 브라우저 GPS의 컨트롤과 같습니다.
1. assign()
assign()
메서드는 새로운 문서를 로드합니다.
location.assign("https://www.example.com");
이는 새로운 URL을 주소 표시줄에 입력하고 Enter 키를 누르는 것과 같습니다.
2. reload()
이름 그대로, 현재 문서를 다시 로드합니다.
location.reload();
브라우저의 새로고침 버튼을 클릭하는 것과 동일합니다.
3. replace()
replace()
메서드는 현재 문서를 새로운 문서로 대체합니다.
location.replace("https://www.example.com");
replace()
와 assign()
의 차이는 replace()
가 브라우저의 기록에 새로운 항목을 생성하지 않아서, 사용자가 뒤로 가기 버튼을 사용하여 원래 페이지로 돌아갈 수 없다는 점입니다.
Location Object Properties List
다음은 우리가 논의한 Location 객체 속성의 요약 표입니다:
속성 | 설명 |
---|---|
href | 전체 URL |
protocol | URL의 프로토콜 스키마 (예: "http:" 또는 "https:") |
host | URL의 호스트이름과 포트 |
hostname | URL의 호스트이름 |
port | URL에서 서버가 사용하는 포트 번호 |
pathname | URL의 경로와 파일이름 |
search | URL의 쿼리 부분 |
hash | URL의 앵커 부분 |
Location Object Methods List
Location 객체 메서드의 요약 표입니다:
메서드 | 설명 |
---|---|
assign() | 새로운 문서를 로드합니다 |
reload() | 현재 문서를 다시 로드합니다 |
replace() | 현재 문서를 새로운 문서로 대체합니다 |
이제 JavaScript Location 객체에 대한 거대한 여행을 마치셨습니다. 기억하시라, 좋은 GPS와 마찬가지로 Location 객체는 당신이 웹 페이지를 탐색하고 제어하는 데 도움을 줍니다.
마무리하면서, 제가 교사로서의 초창기 이야기를 떠올립니다. 제가 한 학생이 location.reload()
메서드에 너무 흥분하여 무한 루프를 만들어 브라우저가 끊임없이 새로고침되는 일이 있었습니다. 우리는 그 일을 웃으며 지나갔지만, 중요한 교훈을 배웠습니다: 강력한 힘에는 큰 책임이 따릅니다!
이 가이드가 도움이 되었기를 바라며, Location 객체를 사용하는 데 더 자신감을 가지셨기를 바랍니다. 계속 연습하고, 호기심을 유지하고, 행복하게 코딩하세요!
Credits: Image by storyset