1. 브라우저의 세션 히스토리(방문 기록)을 조작하고 제아하기 위한 API를 제공합니다.
이 객체를 사용해 이전 페이지나 다음 페이지로 이동하도록 브라우저 히스토리를 조작할 수 있씁니다.
사용 이유
✅
history 객체는 주로 SPA (Single Page Application) 및 브라우저 내에서 페이지 전환 및 라우팅을 관리하는 데 사용됩니다.
페이지 전환을 사용자 친화적으로 제어하거나 브라우저 히스토리를 이용하여 뒤로가기 및 앞으로 가기 기능을 구현하는 데 유용합니다.
메서드
go(offset): 현재 페이지에서 상대적으로 offset만큼 이동합니다. offset이 양수면 다음 페이지로 이동하고, 음수면 이전 페이지로 이동합니다. 예를 들어 history.go(-1)은 이전 페이지로 이동하고 history.go(1)은 다음 페이지로 이동합니다.
back(): 브라우저의 이전 페이지로 이동합니다. 이전 페이지가 없으면 아무 동작도 하지 않습니다.
forward(): 브라우저의 다음 페이지로 이동합니다. 다음 페이지가 없으면 아무 동작도 하지 않습니다.
pushState(stateObj, title, url): 새로운 상태를 히스토리 스택에 추가하고 현재 페이지의 URL을 변경합니다. stateObj는 상태 정보를 나타내는 JavaScript 객체, title은 페이지 제목, url은 새로운 URL입니다.
replaceState(stateObj, title, url): 현재 페이지의 상태를 변경하고 URL을 변경합니다. pushState와 유사하지만 새로운 상태를 히스토리 스택에 추가하지 않고 현재 상태를 대체합니다.
속성
length: 현재 브라우저 세션의 히스토리 스택의 길이를 나타냅니다. 스택에 저장된 페이지의 개수를 알려줍니다.
state: 현재 페이지의 상태를 나타내는 JavaScript 객체입니다. pushState 또는 replaceState 메서드를 사용하여 상태 정보를 설정하고 가져올 수 있습니다.