본문 바로가기

항해99_10기/105일의 TIL & WIL

[2주차] [20221123] 화살표 함수의 this binding

오늘은 오전에 언어 스터디 발제를 준비하고, 발제했다.
오후에는 지쳐기도 했고, 피로가 쌓여서 머리가 잘 안돌았다. 그래서 오늘은 문제를 3개밖에 풀지 못했는데, 그나마도 하나만 맞추고, 하나는 틀리고, 하나는 아직 손도 못 대고 있다ㅋㅋ
BFS DFS를 사용해서 풀어야 하는거 같은데, 일단 트리 클래스 만드는 법주터 몰라서ㅋㅋㅋ
급조로 배우고 있는 중이다.
내일이 알고리즘 마지막 날인데, 과연 얼마나 해낼 수 있을지…ㅠㅠ


TIL

오늘 스터디 발제는 [혼자 공부하는 자바스크립트]의 5-2장 함수편이었다. 새로 배운 내용은 화살표 함수에서의 this binding 없음, 언격모드는 브라우저별로 지원하지 않는 브라우저도 있음 정도가 기억에 남는다.

  • 화살표 함수에는 this binding이 없는데, 이때 this를 호출하면 렉시컬 스코프의 this를 호출한다. 자바스크립트에서는
  • 전역 공간의 this : 전역 객체(window/global)
  • 메소드 호출 시 메소드 내부의 this : 해당 메소드를 호출한 객체
  • 함수 호출 시 함수 내부의 this : 지정되지 않음(❓❗️ ) -> 일반적으로 선언한 함수 내에서 this를 딱히 지정하지 않고 호출 하면 전역 객체의 this를 호출해옴…
  • 그런데, 화살표 함수는 이 어려운 걸 해낸다!ㅋㅋ 화살표 함수를 쓰면 this 바인딩 자체가 없기 때문에 렉시컬 스코프의 this를 가리키게 된다.
  • 좀 더 엄밀히는 function으로 선언한 함수가 메소드로 호출되냐 함수 자체로 호출되냐에 따라 동적으로 this가 바인딩되는데 반해, 화살표 함수는 선언될 시점에서의 상위 스코프(렉시컬 스코프)의 this가 바인딩 되는 것이라고 한다.
  • 자세한 내용은 아래 노션노트 참고!

[혼공 JS][5-2] 함수

❓동기 vs 비동기 프로그래밍, 콜백함수, 화살표 함수, 즉시 호출 함수, 엄격 모드

summer-driver-168.notion.site



이 외에도, 알고리즘 문제를 풀면서 탐욕법, 그래프 DFS, BFS 등의 개념을 보고있는데,,, 사실 하루만에 될 턱이 없다… 그래도 꾸준히 하자!