본문 바로가기

Javascript

(3)
Local Storage, Session Storage, Cookie HTML5에서 웹이 데이터를 클라이언트 측에 저장하여 쓸 수 있는 Web Storage다. Object 형태로 저장하고 키를 기반으로 데이터를 조회한다. 우리가 흔히 아는 Local Stroage와 Session Storage가 바로 이 Web Storage이다. Web Storage Local Storage Session Storage 영구 저장소 (클라이언트가 직접 삭제하기 전까지는 지워지지 않는다.) 임시 저장소 (브라우저가 종료될 때 삭제된다.) 저장된 객체에 접근이 가능하다. localStorage.getItem() localStorage.setItem() JSON을 사용하면 배열도 저장할 수 있다. 자동로그인 비로그인 장바구니 Cookie 사실상 Cookie의 단점을 보완하여 나온 것이 Web..
Closure ? 어떤 글을 봐도 어렵게 설명되어있는 개념인 Closure 우선 사전적인 설명은 폐쇄 라는 뜻이다. 자바스크립트에서도 같은 의미로 쓰이고 있긴 하다. 함수가 선언, 생성될 때 그 함수 내에 주변 환경과 함께 갇히는 것을 말한다. 함수와 함수가 선언된 어휘적 환경(Lexical environment)의 조합 이라고 주로 설명되어 있다. 내부함수는 외부함수의 지역변수에 접근할 수 있는데 외부함수의 실행이 끝났을 경우 외부함수의 소멸이 일어나더라도 내부함수가 외부함수의 변수에 접근할 수 있는 것을 말한다. (중첩함수) 간단히 말하면 생성될 당시의 환경을 기억하는 함수, 생명주기가 끝난 외부함수에 접근할 수 있는 내부함수를 말한다. function outerFunc() { let f = "closure"; // ..
const, let, var 호이스팅 넌 또 뭐임 기술면접을 가면 꼭 질문으로 나온다는 const, let, var 그리고 호이스팅 JavaScript Hosting 우선 짚고 넘어가야 할 Hoisting 인터프리터가 코드를 실행하기 전에 함수, 변수, 클래스 또는 import의 선언문을 해당 범위의 맨 위로 끌어올리는 것 처럼 보이는 현상이다. 잘 구분해야 함! 변수선언/함수선언을 최상단으로 끌어올리는 것이 아니라 끌어올려진 것 같은 현상이다. 선언이 끌어올려지는 것이고 할당이 끌어올려지지는 않는다. 자바스크립트 엔진은 코드를 실행하기 전에 실행 가능한 코드를 형상화 하고 구분하는 과정 ( => 실행 컨텍스트를 위한 과정)을 거친다. 실행 컨텍스트 과정: 실행 가능한 코드가 실행되기 위해 필요한 환경 실행 되기 전에 꼭 실행 컨텍스트 과정을 거친다. ..