
보통 프로미스에서 비동기통신을 한 뒤 then()에서 가져온 데이터를 정제할 때 this 객체를 이용하면 아래와 같이 undefined가 뜨는 것을 볼 수 있다... 샘플코드 결과 this객체는 누가 호출했냐에 따라 동적으로 변한다. Window에서 thisFun()을 호출하였으니, thisFun()에서의 this는 Window가 될 것이며, Window객체가 콘솔에 찍히는 것을 확인 할 수 있다.. 그런데 3번째 라인을 보면 undefined가 콘솔에 찍혔다. 즉 then()안에서는 this가 Window객체를 바라보고 있지 않다는 의미... 왜 then()에서는 this객체가 undefined로 뜰까? 구글링을 해본 결과 this객체는 함수를 호출 하는 "녀석"을 가르키게 되는데 then() 안에서는..

============================================================================ 저번 글에서 Arrow Function에 대해 간단한 문법에 대해 정리해보았는데, Arrow Funtion는 this를 가지지 않는다. 라는 말을 했었다. (지난글 참조) 근데 이게 정확히 무슨 말일까? 지금까지 진행해왔던 프로젝트는 Vue라이브러리와 ES5문법을 혼용해서 사용해왔는데, Vue인스턴스나 컴포넌트의 데이터를 this 키워드를 사용해서 가져왔었다. 예를 들면 아래와 같이.. 위와 같이 component를 생성하고 data객체에 This라는 String변수를 하나 만들었다. 그리고 mouted된 순간에 this키워드를 사용하여 This의 속성값을 콘솔에 찍어..