[뜬금] hoisting, arrow function

cho yunsu·2021년 9월 19일
0

Q. 안녕하세요? 자바스크립트에 대해 궁금한게 있습니다. 1. 함수선언이나 var로 변수선언 하면 hoisting이 일어나는데 애초에 이렇게 만든 이유가 있을까요?? 2. 함수선언(functional declaration) 말고 화살표함수(arrow function)을 굳이 만든 기능적인 이유가 있나요? 제가 알기론 functional expression(화살표함수)는 this bind를 안해줘도 되는 것으로 알고 있는데요.. 이 기능 떄문에 따로 만든건가요??

-1
https://stackoverflow.com/questions/15005098/why-does-javascript-hoist-variables
호이스팅은 자바스크립트 인터프리터 실행의 결과이다. 자바스크립트 인터프리터는 두가지 길을 밟는데, 첫번째로 함수선언과 var을 처리한다(실행환경조성). 두번째로 코드실행을 한다.(한줄한줄)
var hositing은 함수 호이스팅의 의도치않은 결과물..
function hosting은 탑다운 방식 개선하려는 것.

-2
https://medium.com/front-end-weekly/the-real-reason-why-javascript-has-arrow-functions-8a2da3bbb559
화살표함수의 진짜 존재이유는 함수형 프로그래밍!!
함수형 프로그래밍에서 "순수함수"란 오직!! 인풋에만 의존하여 아웃풋을 리턴하는 것을 말함. 다른 변수들을 변형시키지 않고 의존하지도 않음.
화살표함수는 궁극적으로 인풋과 아웃풋을 매핑하기 위해 존재함.

  • 화살표함수는 등장은 자바스크립트의 this문제를 해결하기 위해 나옴.

** 화살표함수를 쓰는 경우, this는 바깥의 "스코프"에 바인딩된다.(바깥의 객체가 아님에 주의!!)

*** 자바스크립트에서 this는 호출 때 결정됨!!!(반면 스코프는 선언 때 결정)

profile
Growing Developer!!

0개의 댓글