개발일지
bind와 화살표함수로 this의 남은부분 이해하기
OneEgg
2018. 2. 2. 19:05
날짜 : 2018. 02. 02.(금)
bind와 화살표함수로 this의 남은부분 이해하기
들어가기에 앞서
이 포스트는 하단에 있는 링크의 글들을 읽고 정리한 글 입니다. 제 실력이 부족하여 도움이 못 될 경우에는 아래의 링크를 참고해 주시기 바랍니다.
본문
이글을 작성하게 된 동기
- 어제 글에서 하지 못한 나머지 부분을 이야기 하기 위해. (bind를 잘 사용하고 싶다.)
새로나오는 용어
- Function.prototype.bind
- 화살표함수(arrow function)
개념
-
bind란.
- execution context를 바꾸어 주는 기능.
- Function.prototype의 상속을 받아서 모든 함수뒤에 bind를 사용할 수 있다.
- argument 값으로 바꾸어 주고 싶은 this의 값과, 호출하는 함수의 인자값을 넣는다.
- return 값으로 함수를 반환한다.
- 반환된 함수(바인딩된 함수)는 call, apply로 execution context를 변경할 수 없다.
-
화살표 함수란.
- 익명함수.
- 화살표 함수의 this는 선언될 때의 execution context를 따른다. (바인딩 된다.)
- 화살표 함수의 this는 call, apply로 변경할 수 없다.
- 전역문맥에서 화살표 함수가 선언되면 this는 window이다.
앞으로 어떻게 해야할까?
- 화살표 함수를 사용할 수 있는곳은 화살표 함수를 먼저 사용하도록 하자.
- bind는 이전에 작성한 코드를 다시 보고서 제대로 이해했는지 검사해 보자.
함수가 어떻게 실행되는 가에 따라서 this는 달라진다. 화살표함수는 정의된 문맥의 값이 this이다.