javascript108 Q. 자바스크립트의 비동기 병렬 처리 메서드인 Promise.all, Promise.allSettled, Promise.race, Promise.any의 차이점을 설명하고, 각각 어떤 실무 상황에서 선택하는 것이 적절한지 말씀해 주세요. 📌 핵심 요약Promise.all: 모든 프로미스가 성공해야 하며, 하나라도 실패하면 즉시 거부(Reject)됩니다. (전부 아니면 전무)Promise.allSettled: 성공/실패 여부와 관계없이 모든 프로미스의 처리 결과를 배열로 반환합니다.Promise.race: 가장 먼저 처리된(Settled) 프로미스의 결과를 반환합니다.Promise.any: 가장 먼저 성공(Fulfilled)한 프로미스의 결과를 반환합니다.💬 실제 면접 답변 예시 "비동기 작업의 병렬 처리 시 목적에 따라 적절한 메서드를 선택하는 것이 성능과 예외 처리에 매우 중요합니다.예를 들어, 페이지 렌더링에 필수적인 여러 API를 호출할 때는 하나라도 실패하면 의미가 없으므로 **Promise.all**을 사용합니다. 반면, 대.. 2026. 3. 24. 자바스크립트에서 메모리 누수가 발생하는 상황들 1. 의도치 않은 전역 변수 (Global Variables)자바스크립트에서 선언 키워드(let, const, var) 없이 변수를 할당하면 브라우저의 경우 window 객체에 바인딩됩니다. 전역 변수는 페이지가 닫힐 때까지 메모리에 상주하므로 GC의 수거 대상에서 제외됩니다.function leak() { // 실수로 선언 없이 할당함 -> window.bigData가 되어버림 bigData = new Array(1000000).fill('leak'); }2. 잊혀진 타이머와 콜백 (Forgotten Timers)setInterval이나 setTimeout을 설정하고 적절히 해제하지 않으면, 그 안에서 참조하는 변수들은 타이머가 도는 동안 계속 메모리에 남습니다.const someResource =.. 2026. 3. 4. JSX란 무엇인가? 1. JSX란 무엇인가?**JSX(JavaScript XML)**는 자바스크립트의 구문 확장 버전입니다. 생김새는 HTML과 매우 닮았지만, 실제로는 자바스크립트 객체를 생성하는 코드로 변환됩니다.리액트(React)에서 UI를 직관적으로 설계하기 위해 사용하며, "마크업(HTML)과 로직(JS)은 분리되어야 한다"는 고전적인 관념을 깨고 **"컴포넌트라는 하나의 단위로 묶자"**는 철학을 담고 있습니다.2. 자바스크립트로 어떻게 변환되나요?브라우저는 JSX를 직접 읽을 수 없습니다. 따라서 Babel이나 SWC 같은 컴파일러를 통해 순수 자바스크립트로 변환하는 과정이 필요합니다.변환 방식은 리액트 버전에 따라 두 가지로 나뉩니다.A. 과거 방식 (React 17 미만)React.createElement(.. 2026. 2. 26. 이전 1 2 3 4 ··· 36 다음