javascript108 왜 useState를 조건문 안에서 사용하면 안 되나요? 1. 핵심 결론React는 Hook을 관리할 때 이름(변수명)이 아니라 **"호출된 순서(Order)"**에 의존하기 때문입니다. 중간에 조건문에 의해 Hook 하나가 건너뛰어지면, 그 뒤에 있는 모든 Hook들의 순서가 한 칸씩 밀리면서 엉뚱한 상태값(State)을 참조하는 대참사가 벌어집니다.2. React 내부 동작 원리 (Linked List)React 엔진(Fiber) 내부는 각 컴포넌트의 Hook들을 연결 리스트(Linked List) 형태로 관리합니다.React의 시선: "첫 번째 Hook은 name, 두 번째는 age"라고 기억하지 않습니다.실제 저장 방식: "Index 0번엔 '철수', Index 1번엔 '30'이 들어있다"라고 순서대로만 기억합니다. 네, 블로그 작성용 메모 형식으로 R.. 2026. 1. 16. 자바스크립트의 가비지 컬렉션(Garbage Collection) 알고리즘인 'Mark-and-Sweep'의 동작 원리와, 프론트엔드에서 발생하기 쉬운 메모리 누수(Memory Leak) 사례를 설명해 주세요. 📌 핵심 요약Mark-and-Sweep: 루트(Root) 객체에서 시작해 참조를 따라가며 도달 가능한 객체에 **Mark(표시)**를 하고, 마킹되지 않은 객체를 메모리에서 **Sweep(삭제)**하는 알고리즘입니다.메모리 누수: 더 이상 필요하지 않은 데이터임에도 불구하고, 코드상에서 참조가 남아 있어 가비지 컬렉터가 수거하지 못하는 현상입니다.💬 실제 면접 답변 예시 "자바스크립트 엔진은 '도달 가능성(Reachability)'을 기준으로 메모리를 관리합니다. 엔진은 window와 같은 Root 객체에서 출발하여 참조 사슬을 따라가며 닿는 모든 객체에 표시를 남깁니다. 이후 이 과정에서 누락된, 즉 어디에서도 접근할 수 없는 객체들을 가비지 컬렉터가 메모리에서 해제합니다.실무에서 흔히 발생하는 메.. 2026. 1. 15. 자바스크립트의 실행 컨텍스트(Execution Context) 개념과 호이스팅(Hoisting)이 발생하는 원인을 연관 지어 설명해 주세요. 📌 핵심 요약실행 컨텍스트: 자바스크립트 코드가 실행되기 위해 필요한 환경 정보를 담은 객체로, 콜 스택(Call Stack)에 쌓여 관리됩니다.호이스팅 원리: 엔진이 코드를 실행하기 전 '생성 단계'에서 스코프 내의 식별자들을 Environment Record에 미리 등록하기 때문에 발생합니다.TDZ(Temporal Dead Zone): let, const는 선언 단계만 호이스팅되고 초기화 단계는 코드 실행 시점에 도달해야 이루어지므로, 그 사이 영역에서 참조 시 에러가 발생합니다.💬 실제 면접 답변 예시 "실행 컨텍스트는 자바스크립트 엔진이 코드를 실행하는 데 필요한 정보를 수집하는 단위입니다. 엔진은 코드를 실행하기 전 **'생성 단계'**를 거치는데, 이때 현재 컨텍스트 내의 변수명이나 함수 .. 2026. 1. 15. 이전 1 2 3 4 5 6 ··· 36 다음