현재 실행 중인 함수 또는 객체를 참조하는 역할을 한다.
일반적으로 해당 함수를 호출하는 방식에 따라 동적으로 결정됩니다.
일반적으로 함수의 호출 방식과 해당 방식이 가리키는 this는 다음과 같다.
- 함수 호출 ⇒ 전역객체(Global)
- 메소드 호출 ⇒ 메소드를 호출한 주체
- 생성자 함수 호출 ⇒ 생성자 함수의 반환 값인 인스턴스 객체
- apply/call/bind 호출 ⇒ 해당 함수의 매개변수로 사용된 인자
하지만 화살표 함수의 경우 해당 함수를 호출하면 선언 단계에서 정적으로 상위 컨텍스트를 참조하여 this 가 결정됩니다. (lexical this)
local storage
브라우저에 영구적으로 데이터를 보관한다.(영구성)
브라우저를 종료해도 그 데이터가 보관되며, 도메인이 동일할 경우 전역적으로 데이터를 공유할 수 있다.
sessin storage
브라우저 종료시 데이터가 삭제된다.(비영구성)
도메인이 같더라고 브라우저가 다를 경우(ex:탭 브라우저) 다른 컨텍스트를 가지므로 데이터를 공유할 수 없다.
cookie
서버-클라이언트 간의 지속적인 데이터 교환을 위한 목적
4KB의 용량 제한을 가지며, 한 사이트당 최대 20개의 쿠키를 가질 수 있다.
쿠키에 쓸데없는 값이 많다면 그만큼 네트워크 트래픽이 증가하게 되므로 쿠키에 저장하는 정보는 주의하여 저장되어야 한다.
※ 쿠키의 목적 : 세션 관리, 개인화, 트래킨