Front/JS
[JavaScript]3. 화살표 함수
cheon seung hyeon
2023. 3. 25. 00:17
2. 화살표 함수
이전 장에서 ES6문법을 사용하면서 매개 변수와 함수를 깔끔하게 정리할 수 있는 화살표 함수를 학습하겠습니다.
화살표 함수란?
생성자 함수로 사용 할 수 없고 , arguments를 지원하지 않아 함수를 좀 더 깔끔하게 만들 수 있습니다.
기존의 방식을 사용한 함수 a와 화살표 함수를 사용한 a2는 서로 같은 코드 이지만 화살표 함수를 사용한 쪽이 더 깔끔하게 만들 수 있습니다.
또는 화살표 함수 뒤에 {}를 붙임으로써 함수의 명령어를 처리 할 수도 있습니다.
화살표 함수와 매개 변수
프로그래밍 언어에서 매개 변수는 주로 함수명(데이터 타입 - 변수) 의 구조를 띈다면 화살표 함수는 () 안에 매개 변수를 넣는 방식으로 매개 변수 선언이 가능합니다.
중요한 점 - 화살표 함수와 함수 호출 패턴
이후에 설명 드릴 setTimeout 같은 비동기적 처리를 하기 위한 함수 등을 실행 할 때 this라는 명령어를 이용하게 되면 여러 에러 사항이 발생할 수 있습니다.
비동기 입출력이란? 2023.03.13 - [Node.js] - [Node.js] 5. synchronous & asynchronous(동기,비동기)
this 란? - 내용 추가
화살표 함수를 사용한 경우 그 위의 생성자 함수를 가리키지만, 화살표 함수가 아니면 Timeout을 가르키는 것을 볼 수 있습니다.
이는 setTimeout 함수가 window의 함수로써 실행 될 때 브라우저의 백그라운드 공간으로 들어가서 실행되는 것인데
this가 그곳으로 바운딩 되기 때문입니다. 화살표 함수를 사용하게 되면 그러한 문제를 막을 수 있습니다.