
자바스크립트 구조분해할당 (Destructuring)구조분해 할당은 배열이나 객체에서 특정 값을 쉽게 추출하여 변수에 할당할때 쓰는 문법이다. 배열 구조분해할당사용법은 아래와 같고, 배열에 할당된 순서대로 구조분해할당하여 추출해서 사용할 수 있다.const numbers = [1, 2, 3]; // 기존 방식 const a = numbers[0]; const b = numbers[1]; // 구조분해할당 const [x, y, z] = numbers; console.log(x, y, z); // 1 2 3 만약 특정 인덱스의 값을 넘기고 싶다면 해당하는 부분을 비워두고 콤마(,)로 넘어가면된다.const numbers = [1, 2, 3, 4, 5]; // 두 번째 값을 비워두면 건너뛰기가 가능하다c..

자바스크립트 실행 컨텍스트(Execution Context)실행 컨텍스트는 코드 실행과 흐름을 관리하는 핵심 원리다.이 개념을 정확히 이해하면 스코프나 호이스팅, this, 클로저와 같은 개념을 잘 이해할 수 있다. 실행 컨텍스트는 자바스크립트 코드가 이벤트 루프로 부터 콜스택으로 이동하게 되고난 후 실행될때 생성되는 환경을 말한다. 실행 컨텍스트는 필요한 정보를 저장하고 관리하게된다. 핵심 역할코드 실행에 필요한 정보 관리변수, 함수 선언을 메모리에 저장하고 참조this 바인딩을 결정스코프와 클로저를 관리 핵심 역할 중 변수, 함수 선언을 메모리에 저장하고 참조하기 때문에 호이스팅 개념이 가능한 것이고..이때 상위 스코프의 변수, 함수선언을 참조하기 때문에 가비지컬렉터의 대상이 되지 않기 때문에 외부 ..

이벤트 루프와 비동기 처리 + 가비지 컬렉션과의 연관자바스크립트는 싱글 스레드 기반이다. 싱글 스레드이기 때문에 한번에 한가지 작업만 실행할 수 있다.하지만 그렇다고 한번에 한가지 작업만 하게되면? 문제가 많을것이다. (무한 대기가 생기겠지?)그렇기 때문에 브라우저나 노드 환경에서 여러 작업을 동시에 처리할 수 있도록 설계되어있는데, 이 핵심이 이벤트 루프다. 이벤트 루프란?자바스크립트의 비동기 처리를 가능하게하는 매커니즘이다. (비동기 작업 HTTP요청이나 setTimeout 등..)비동기 작업은 나중에 실행되도록 예약하고, 이벤트 루프는 준비된 작업을 실행할 수 있도록 한다.이때 어떤 순서대로 실행을 시킬까?우리가 여기서 알아야하는 기본적인 개념은 '콜스택, 태스트큐, 마이크로태스크큐' 이다. (W..
자바스크립트에서 함수가 선언된 렉시컬 스코프를 기억하고, 그 스코프 밖에서도 해당 스코프에 접근할 수 있는 함수(개념)를 말한다. 함수와 그 함수가 선언된 환경을 함께 묶은 개념으로 내부 함수가 외부 함수의 변수에 접근하거나 저장된 값을 유지할 수 있는 특성을 제공한다. 주요 특징 간단히 요약1. 변수 접근: 내부 함수가 외부 함수의 변수에 접근할 수 있다.2. 변수 유지: 외부 함수 실행이 종료되어도 내부 함수는 외부 함수의 변수를 참조한다.3. 데이터 은닉: 클로저를 사용하여 데이터를 외부에서 직접 접근할 수 없도록 보호할 수 있다. 예시function 외부함수(외부매개변수) { return function 내부함수(내부매개변수) { console.log(`외부함수: ${외부매개..