이벤트 루프가 대체 뭐길래? JS 개발자라면 꼭 알아야 할 개념
·
JavaScript
🧵 자바스크립트는 싱글 스레드 언어이다 자바스크립트는 싱글 스레드 (Single Thread) 언어이다.여기서 스레드란? 프로세스의 실행 단위를 말한다.즉, 싱글 스레드는 일꾼(Worker)이 한 명 뿐이라는 뜻이다. 이게 무슨 의미냐면?한 번에 하나의 작업만 실행할 수 있다.작업이 끝나야 다음 작업을 실행할 수 있다. (기다려야 함)근데 우리는 웹에서 동시에 여러가지 작업을 하는 것처럼 보인다. 🤔파일 다운로드도 하고, 웹 서핑도 하고, 동영상도 보면서 다른 작업도 할 수 있다. 이건 어떻게 가능할까?바로 논블로킹 (Non-blocking) 방식 덕분이다! ⚡ 블로킹(Blocking)과 논블로킹(Non-blocking) 자바스크립트는 싱글 스레드라서, 일을 순서대로 처리한다.그런데 만약 어떤 작업이..
scope와 hoisting 그리고 var, let, const의 차이점
·
JavaScript
💡 let과 const의 등장JavaScript에서 변수를 정의하는 방법은 다음과 같다.ES5: varES6: var, let, const (let과 const의 등장) 🔨 변수 생성 단계선언 단계변수를 생성하는 것변수명을 등록하여 스코프가 참조할 대상을 만든다.let age; //선언 초기화 단계메모리에 변수 저장을 위해 공간을 확보하는 단계, 기본 값으로 undefined가 할당된다.let age; //선언 -> 초기화console.log(age); //undefined 할당 단계할당 연산자(=)를 사용해 값을 할당한다.undefined로 초기화 된 변수에 실제 값을 할당해주는 단계let age; //선언 -> 초기화console.log(age); //undefinedage = 20; //값 할당..