오늘 공부한 내용 📋

JS의 콜스택에 쌓이는 단위인 실행컨텍스트에 대해서 배우고 Class와 비슷한 개념인 JS만의 Closure에 대해서도 배웠다. 이 두개가 오늘 배운 것 중 가장 중요한 개념같다. 그리고 함수 실행 환경에 따라 this가 가리키는것이 변할 수 있고, 이를 dynamic binding이라 하는것도 배웠다. bind, call, apply를 통해서 함수 간접호출을 할 수 있으며 this를 조작할 수 있음을 배웠다. 그리고 화살표 메서드와 일반 함수 메서드의 this는 서로 가리키는게 다르며, 일반 함수 메서드는 호출한 함수 환경의 컨텍스트가 새로 생성되고, 화살표 메서드는 바로 부모 객체의 실행 컨텍스트를 가리킨다. 그리고 화살표 함수의 this는 바꿀 수 없다. 그리고 추가적으로 Rest operator, Spread operator에 대해서 간략히 배웠다.

어려웠던 내용 🤢

실습문제에서 FormData와 Closure를 같이 사용하는 문제가 있었는데 아무리 봐도 해설을 몇번을 돌려봐도 이해가 되지 않았다. Form에 대해서 더 자세히 공부할 필요가 있어보인다. Closure와 Excution Context, 이와 관련된 this에 관한 것도 어려웠다.

궁금한 내용 🧐

Class와 Clousre중에 어떤것을 더 선호하며 개발하는지 궁금하다. 오늘 배운것들 Excution Context, this의 동적바인딩, Closure 같은것들을 어떻게 적절하게 사용하며 코딩하는지 궁금하다. 그리고 FormData를 저렇게 어렵게 가져와야 되는지도 궁금하다.. 😥

느낀 점 🤔

부트캠프는 3주차에 접어들었고 자바스크립트 2주차인데 개념이 상당히 어렵다. 한 번 보고 이해가 되는 그런 개념은 아니다. 전공수업에서 언어에 대해 심화적인 내용을 다루는 느낌이다. FormData에 대한 실습을 할때는 맨붕이 왔고. 지금도 하나도 이해가 되지 않는다. 그리고 Closure와 Excution Context, 그리고 이와 관련된 this의 동적바인딩 이 모든 개념들이 사슬처럼 이어져있는데 어느정도 조금은 이해가 갔지만(내가 추가적으로 공부해서..) 실전에서 쓰려고 하거나 나중에 다시 봤을때 하나도 기억 안날지도 모른다. 추상적이고 어려운 개념이기 때문에 추후에 프로젝트나 책을 통해서 깊은 학습이 필요해 보인다.