
호이스팅(Hoisting) 변수와 함수 선언이 컴파일 단계에서 상위로 글어올려집니다. var는 선언만 호이스팅되고 초기화는 호이스팅되지 않으며, let과 const는 호이스팅되지만 초기화 전에는 사용 불가(Temporal Dead Zone)입니다.예시 )위 코드에서 x
클로저(Closure):클로저는 함수가 생성될 당시의 외부 변수를 기억하고 접근할 수 있는 기능입니다. 클로저는 상태를 유지하거나 비공개 데이터를 보호하는데 사용됩니다.예시)이 코드에서 inner 함수는 counter를 계속 참조할 수 있어, 메모리 누수 위험이 있습니
자바스크립트는 싱글 스레드 언어로, 이벤트 루프를 통해 비동기 작업을 처리합니다. 이벤트 루프는 콜 스택(Call Stack)과 태스크 큐(Task Queue)를 관리하면서 동작합니다.콜스택: 함수가 호출될 때 이 스택에 쌓이며, 실행이 끝나면 스택에서 제거됩니다.태스
일단 작성하기전에 내생각부터 말해보자면 코드를 해석하기에 this 바인딩은 특히 JavaScript 초보자에게 혼란스러울수 있다고 생각한다. 직접 변수를 접근하는 방식이 더 간단하고 명확하다고 생각한다.상황에 따라 다르겠지만, 협업하는 과정에서 누군가가 이해하기가 힘들
가비지 컬렉션(Garbage Collection, GC)은 프로그래밍 언어에서 메모리 관리를 자동으로 처리하는 메커니즘입니다. 주로 메모리에서 더 이상 사용되지 않는 객체를 자동으로 탐지하고 제거하여 메모리를 확보합니다. 이를 통해 메모리 누수를 방지하고 애플리케이션의
프로세스란 실행 중인 프로그램의 한단위 라고 생각하면된다. 예를 들어 웹 브라우저나 게임 같은 앱이 각각 하나의 큰프로세스라고 보면된다.그럼 스레드란 무엇인가? 스레드는 프로세스 안에서 실제로 작업이 수행되는 작고 큰? 단위이다.예를들어 스레드는 웹 애플리케이션을 사용