목록백엔드 로드맵따라가기/Language (2)
전성빈의 사리사욕
Js에서는 변수를 선언하고 값을 저장하고 메모리에서 할당 하는 과정과 내용등을 알아보도록 하겠습니다. primitive 변수들의 선언과 할당 primitive variable이란 객체가 아닌 단순한 변수들을 뜻합니다. number, string 등이 포함되어 있습니다. non-primitive란 객체들을 뜻하며 object, array 등이 있습니다. var num = 10; 위와 같은 코드를 실행하면 js에서 일어나는 과정입니다. num에 해당하는 Unique identifier를 생성한다. Memory에 주소를 할당한다.(Runtime에서 할당) 해당 주소에 값을 저장한다. 만약 num의 값을 변경한다면 원래의 num에 다른 값을 저장하지 않는다. js의 immutable한 특성 때문인데, primi..
JavaScript는 Event loop을 기반으로한 concurrency모델이다. 이벤트 루프는 코드 실행, 이벤트 수집과 처리, 큐에 존재하는 하위 작업들을 처리 한다. 런타임 개념 Js는 싱글 스레드를 기반으로 작동하고 있어 한번에 하나의 작업만 처리할 수 있다. 하나의 함수가 실행되면 수행중인 함수가 끝날때 까지 다른 작업은 수행할 수 없다. 이러한 방식을 Run to Completion이라 한다. Js에 존재하는 Stack, Heap, Queue가 하는일은 다음과 같다. Stack Js의 스택은 Call stack이라고도 불리우며 실행한 함수를 스택에 쌓아 관리하다. Heap 힙은 대부분 구조화되지 않은 메모리 영역을 나타내며 객체들이 이 공간에 할당 된다. Queue(Event Loop) 처리..