날짜 : 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이다.
참고한 사이트
'개발일지' 카테고리의 다른 글
자바스크립트로 상속의 상속(다중상속) (0) | 2018.02.09 |
---|---|
자바스크립트 개념 정리 1 (0) | 2018.02.05 |
this를 이해하기 위해서 (0) | 2018.02.01 |
Object.prototype 상속과 공유 (0) | 2018.01.30 |
HTML, CSS 기존코드 개선하기 2 - IR 적용 (0) | 2018.01.25 |