오늘은 모던 JavaScript 튜토리얼에서 화살표 함수 다시 살펴보기(https://ko.javascript.info/arrow-functions)에 대해서 공부했다. 작성한 질문은 다음과 같다.
화살표 함수와 일반 함수의 차이점으로 여러 가지가 있다.
우선, 화살표 함수는 this를 가지지 않는다. 화살표 함수 본문에서 this를 사용해 접근하면, 외부에서 값을 가져오기 때문에 객체 메서드를 일반 함수로 만들어 다른 함수의 인수로 전달할 때, this가 사라져 bind를 하는 과정을 거치지 않아도 된다.
다음으로, 화살표 함수는 유사 배열 객체인 args를 가지지 않는다. 모든 인수에 접근할 수 있게 해주는 arguments인 args를 가지지 않으며, 이런 점은 현재 this 값과 arguments 정보를 함께 실어 호출을 포워딩해주는 데코레이터를 만들 때 유용하게 사용된다.
마지막으로, 화살표 함수는 new와 함께 호출할 수 없다.
지난 장에서 객체 메서드를 다른 함수의 인수로 전달할 때, 컨텍스트를 잃어버릴 수 있다는 사실을 배웠는데 화살표 함수를 사용하면 현재 컨텍스트를 잃지 않아 편리하다는 점이 큰 장점인 것 같다. 또한, 화살표 함수를 사용했기 때문에 컨텍스트를 잃지 않아 this를 사용할 수 있었던 건데 그 사실을 모른 채로 this를 사용한 경험이 있었다. 모던 JavaScript 튜토리얼을 공부하며 가장 크게 느끼는 건 강의, 구글링을 통해 작성한 코드를 이게 무엇인지 하나하나 뜯어보며 공부를 하지 않고 그냥 작성했다. 앞으로는 하나 하나 코드를 뜯어보는 습관을 길러야겠다.
'TIL' 카테고리의 다른 글
TIL - 20220721 (0) | 2022.07.21 |
---|---|
TIL - 20220720 (0) | 2022.07.20 |
TIL - 20220718 (0) | 2022.07.18 |
TIL - 20220717 (0) | 2022.07.17 |
TIL - 20220716 (0) | 2022.07.16 |