JavaScript는 ES6 이후 큰 변화가 있었습니다. 기존의 var 키워드를 사용한 함수 레벨 스코프에서 let과 const가 도입되며 블록 레벨 스코프를 지원하게 되었죠. 함수 레벨 스코프 vs 블록 레벨 스코프 📌 함수 레벨 스코프(Function-level Scope)기존 JavaScript는 함수 단위로 변수를 관리했습니다. 즉, var 로 선언된 변수는 함수 내부에서만 유효하며, {} 같은 블록 내부에서는 영향을 받지 않았습니다.var i = 10;for (var i = 0; i 블록 레벨 스코프를 지원하는 프로그래밍 언어에서는 for 문에서 반복을 위해 선언된 i 변수가 for 문의 코드 블록 내에서만 유효한 지역 변수지만, var 키워드로 선언된 변수는 블록 레벨 스코프를 인정하지 않..
FrontEnd/JavaScript
JavaScript를 비롯한 여러 프로그래밍 언어에서 함수 스코프와 클로저는 매우 중요한 개념입니다. 이 글에서는 스코프가 무엇인지, 클로저가 어떻게 생성되고 활용되는지 정리해 보겠습니다. 스코프(scope)란? 🔹 함수 스코프스코프는 말 그대로 '유효범위'라는 의미를 가지고 있으며함수 스코프는 함수 내부에서 선언된 변수들은 해당 함수 내부에서만 유효하다는 개념입니다.즉, 함수 외부에서는 내부에서 선언한 변수에 접근할 수 없습니다.function add(x, y) { console.log(x, y); // 3, 5 return x + y; }add(3, 5);console.log(x, y); // ReferenceError 위의 예시에서 첫번째 콘솔과 두번째 콘솔에는 다른 값들이 찍힙니다.이처럼 ..