JavaScript 2

[JavaScript] this 바인딩

이번에 this 바인딩 규칙을 정리하면서, 단순히 ‘전역에서는 window', '메서드에서는 객체’ 정도로만 이해했던 개념이 훨씬 복잡하고 상황에 따라 다르게 동작한다는 것을 깨달았습니다. 특히 함수 참조 분리 시 this 소실, ES 모듈에서의 this = undefined, 그리고 이벤트 핸들러에서의 this 차이(일반 함수 vs 화살표 함수) 같은 부분은 실제 코드에서 자주 마주칠 수 있는 상황이라고 느껴 실제로 개발하면서도 적절하게 사용해보려고 합니다. JavaScript에서 this는 함수 또는 메서드 내에서 동작하며, 호출되는 방식에 따라 값이 동적으로 결정되는 실행 컨텍스트의 참조 객체입니다. 따라서 함수가 어디서 정의되었는지가 아니라 어떻게 호출되었는지에 따라 값이 달라집니다.전역에서는 전..

📚 CS/JavaScript 2025.08.30

[JavaScript] 클로저(Closure)란?

대략적으로만 알고 있던 개념이였는데, 공부를 할수록 더 헷갈려서 많은 강의와 자료를 찾아보며 이해하는데 많은 시간을 썼습니다. 공부를 하면서 클로저가 렉시컬 환경 객체를 참조하는 구조라는 것을 이해하게 되었고, 메모리 누수 가능성이나 성능 최적화에도 활용할 수 있을 것 같다는 생각이 들었습니다. 특히 React Hook 내부에서도 사용되는 개념이라는 부분에서, 실제 코드를 작성하면서도 무의식적으로 사용하는 경우가 많은 것 같아 더 주의하면서 개발해야겠다고 느꼈습니다. 클로저란?클로저는 함수가 선언될 때의 렉시컬 스코프(Lexical Scope)를 기억해, 해당 함수의 실행 컨텍스트가 종료된 이후에도 외부 변수에 접근할 수 있는 현상을 의미합니다. 함수는 자신이 선언된 시점의 스코프를 기억하기 때문에, 함..

📚 CS/JavaScript 2025.08.24