javascript 2

[개발 실무] 프로그램은 위에서 아래로 실행되지 않는다 - 자바스크립트 이벤트 루프와 비동기 실행 흐름 완벽 이해

프로그래밍을 처음 접하는 입문자들이 흔히 가지는 가장 큰 오해 중 하나는 "코드는 항상 위에서 아래로, 작성된 순서대로 실행된다"는 생각입니다. 단순하고 짧은 코드에서는 이 말이 사실일 수 있습니다. 하지만 네트워크 요청, 버튼 클릭, 타이머와 같은 기능이 등장하는 순간, 이러한 위에서 아래로의 직선적인 실행 흐름은 완전히 깨지게 됩니다.이 글에서는 왜 나중에 작성된 코드가 먼저 실행되는 현상이 발생하는지, 그리고 웹 개발의 핵심인 비동기(Asynchronous) 처리와 이벤트 루프(Event Loop) 의 구조에 대해 확실하게 정리해 보겠습니다. -------------------------------------------------------------------------------- 1. 코드는..

[개발 실무] 변수는 값을 담는 상자가 아닙니다: 참조와 메모리로 다시 배우는 코딩 기초

혹시 리스트나 객체를 다른 변수에 할당했다가, 원본 데이터까지 엉뚱하게 바뀌어버린 버그를 경험한 적이 있으신가요?let a = [1-3];let b = a;b.push(4);console.log(a); // 결과는? [1-4] // "어라? 난 b만 바꿨는데 왜 a가 바뀌지?"우리는 프로그래밍을 처음 배울 때 "변수(Variable)는 값을 저장하는 상자"라고 배웁니다. 하지만 이 설명은 '반만 맞는' 이야기입니다. 이 '상자 모델'만 믿고 코딩을 하다가는 위와 같은 참조(Reference) 관련 버그 앞에서 속수무책이 될 수밖에 없습니다.오늘은 주니어 개발자가 가장 많이 오해하는 변수, 참조, 그리고 메모리의 진짜 관계를 파헤쳐 보겠습니다. 이 글을 다 읽고 나면, 더 이상 알 수 없는 데이터 변경 버..

반응형