[인용글] js에서 function()은 더이상 사용하지말자!

SangBooom·2022년 11월 3일
1

영상 : https://www.youtube.com/watch?v=LPEwb5plEoU

썸네일 문구가 자극적이여서 얼마나 설득력있게 설명하실지 궁금해서 보게되었는데 주장하시는 이유가 분명해서 설득당했다

요약

목적이 더 명확히 드러나는 방식을 택하는게 가독성 측면, 유지보수 측면에서도 도움이 되고 결국 협업 환경에서 더욱 좋다!

function은 다방면에서 사용할 수 있도록 설계가 되어있다. ( 일반함수로 사용, 생성자 함수로 사용, 객체 메서드로 사용 ) 다른 개발자가 작성한 함수를 해석한다고 했을 때 함수의 목적성을 쉽게 파악하기는 대부분 어렵다. 그리고 this를 신경써야 된다.

근데 arrow 함수는 prototype도 없으니 this 바인딩도 할 수 없고 생성자 함수로도 쓸 수 없으니까 일반 함수로 사용한다는 목적을 알 수 있다. 또한, call, apply, bind를 통해 this 바인딩도 불가하니 this를 신경쓰지 않아도 된다. 클래스는 생성자 함수로만 쓰겠다는 걸 알 수 있다.

정리

  • 일반 함수로 쓸때는 function 보다 가벼운 (prototype이 없음) 화살표 함수를 사용하자
  • 생성자 함수로 쓰고자 할때는 class를 사용하자
  • 객체 메서드로 쓸때는 method 축약형을 사용하자

function은 generator에서만 어쩔수 없이 사용하고 나머지 상황에서는 가급적 사용하지 말자 !

profile
끊임없이 떨어지는 물방울이 바위를 뚫는다

0개의 댓글