javascript 25

Javascript - 실행 컨텍스트와 호이스팅

"함수 선언문이 코드의 최상단으로 끌어올려진다"는 호이스팅(Hoisting) 현상은 마법이 아닙니다. 자바스크립트 엔진이 코드를 실행하기 전 실행 컨텍스트(Execution Context)를 생성하는 과정에서 발생하는 논리적인 현상을 상세히 분석했습니다.📂 JavaScript Core의 4번째 글입니다. 실행 컨텍스트: 호이스팅이 발생하는 진짜 이유자바스크립트를 공부하다 보면 "변수 선언이 코드의 최상단으로 끌어올려진 것처럼 동작한다"라는 호이스팅(Hoisting) 개념을 마주하게 됩니다. 하지만 실제로 코드가 이동하는 것은 아닙니다. 그렇다면 엔진 내부에서는 도대체 무슨 일이 벌어지고 있는 걸까요?이 현상을 이해하려면 자바스크립트 엔진이 코드를 실행하기 위해 준비하는 환경, 즉 실행 컨텍스트(Exec..

카테고리 없음 2025.11.24

Javascript - 이벤트 루프와 비동기 동작 원리 심화

자바스크립트는 싱글 스레드 언어지만, 브라우저의 멀티 스레드 환경(Web APIs)과 이벤트 루프(Event Loop) 덕분에 비동기 처리가 가능합니다. 콜 스택(Call Stack), 태스크 큐(Task Queue), 그리고 마이크로태스크 큐(Microtask Queue)의 동작 순서와 우선순위를 상세히 분석했습니다.📂 JavaScript Core의 3번째 글입니다.📂 JavaScript Core의 2번째 글입니다. 이벤트 루프(Event Loop): 싱글 스레드 JS가 비동기를 처리하는 마법"자바스크립트는 싱글 스레드(Single Thread) 언어다." 이 말은 한 번에 하나의 작업만 수행할 수 있다는 뜻입니다. 그런데 우리가 만든 웹 사이트는 동시에 여러 가지 일을 하죠. 데이터를 받아오면서(..

카테고리 없음 2025.11.23

Javascript의 동기와 비동기 - fetch(), Promise

웹 개발의 핵심인 비동기 통신의 흐름을 완벽하게 정리했습니다. fetch API와 Promise의 기초 개념부터, 콜백 지옥과 체이닝을 해결하는 async/await 실전 패턴, 그리고 병렬 처리 최적화까지 다룹니다.📂 JavaScript Core의 2번째 글입니다. JavaScript 비동기 통신: fetch, Promise부터 async/await까지프론트엔드 개발을 하다 보면 네트워크 통신, 데이터 요청, UI 업데이트 등 동기적으로 처리하면 화면이 멈춰버리는 작업들을 마주하게 됩니다. 이때 필요한 것이 바로 비동기(Asynchronous) 처리입니다.과거의 XMLHttpRequest부터 시작해 Promise를 거쳐 async/await까지, 자바스크립트 비동기 처리는 계속 진화해왔습니다. 이 흐..

카테고리 없음 2025.11.23

Javscript - 화살표 함수는 왜 생성자가 될 수 없을까?

화살표 함수(Arrow Function)로 인스턴스를 생성할 때 발생하는 TypeError의 원인을 자바스크립트 엔진 관점에서 분석했습니다. this 바인딩의 차이, prototype 프로퍼티의 부재, 그리고 new 연산자의 내부 동작 과정을 상세히 정리했습니다.📂 JavaScript Core의 1번째 글입니다. 화살표 함수에는 왜 'new'를 쓸 수 없을까?자바스크립트에서 객체를 찍어내는 방법은 여러 가지입니다. 가장 흔한 게 class지만, 그 뿌리는 결국 생성자 함수(Constructor Function)에 있습니다.function Person(name) { this.name = name;}const p = new Person('Alice'); // 정상 동작그런데 요즘 많이 쓰는 화살표 함수(..

카테고리 없음 2025.11.23

javascript 빈 배열 확인법

JavaScript에서 빈 배열인지 올바르게 확인하는 법JavaScript에서 배열이 비어 있는지 확인하는 방법은 다양하지만, 모든 경우에 안전하게 동작하는 코드는 의외로 많지 않습니다. 특히 API 응답이나 외부 데이터 구조가 null, undefined, 문자열, 객체로 들어올 가능성이 있다면, 잘못된 length 접근은 쉽게 에러로 이어질 수 있죠.이번 글에서는 가장 많이 사용하는 빈 배열 체크 방식부터, 실무에서 진짜 안전한 방법까지 하나씩 정리해보겠습니다.1️⃣ 배열 length 로 확인하기 — 기본형array && array.length ? true : false;가장 흔한 형태이지만, array가 undefined, null, or 배열이 아닐 때 문제가 생깁니다. 즉, array.lengt..

카테고리 없음 2025.11.16