• 카테고리

    질문 & 답변
  • 세부 분야

    프론트엔드

  • 해결 여부

    해결됨

[질문] 자바스크립트 함수 선언문

20.11.14 19:06 작성 조회수 113

2

늘 좋은 강의 만들어주셔서 감사합니다. snowpack 관련한 강의도 추가해주셔서 감사합니다. 😋

강의를 보다가 의문이 들었습니다. 왜 강사님은 함수 선언문으로 함수를 만드실까?

<저의 생각>

일단 저는 함수 표현식과 선언문에 대해서 인지하고 있습니다. 제 추측으로는 함수 선언문은 호이스팅의 영향을 받으므로 선언하기

전에 호출하더라도 정상적으로 작동합니다. 이런 이점을 활용하기 위해 사용하신거 아닐까? 라는 생각을 하게 되었습니다. 화살표 함

수 대신 함수 선언문을 사용하신 이유가 궁금합니다!

남은 주말 잘보내세용

답변 2

·

답변을 작성해보세요.

3

저는 아마 화살표 함수를 이용했을 듯합니다. 하지만 이 방법을 사용하면 선언 후 호출해야하므로 핵심 로직이 아래에 배치되는 경향

성이 있을거 같아 추후에 유지보수를 하는 경우(코드를 읽어야하는)에는 안 좋을거라는 생각이 문득 들었습니다. HEROPY님이 사용

하시는 함수 선언문이 조금 더 가독성 좋은 코드를 작성하는데 도움이 될거 같습니다. 좋은 답변 감사드립니다.

2

hellofrontdev님 안녕하세요!

이미 답을 말씀해 주셨네요^^

결론적으로 저는 호이스팅을 활용하는 이유로 보통 함수 선언식을 선호합니다.

함수로 작성한다는 것은 어찌 보면 기능 단위로 묶는 행위고 결국 함수 이름만으로 기능이 유추될 수 있으니, 상세 로직이 당장 중요하진 않다는 생각입니다.

예를 들면 '일단 뭐 하는 친구(함수)인지는 알겠고 당장은 정신없으니까 일단 저기 구석에 가 있으렴!' 이라고 생각합니다.

대부분은 전체 코드의 큰 그림이 더 중요하다고 생각해서 상세 로직은 큰 그림이 그려지면 읽는 편이네요~

그래서 저는 보통 함수를 코드 하단에 작성해서 당장의 혼란스러움을 피하고, 호이스팅을 이용해서 코드 상단에서 호출하는 방법을 선호합니다.

물론 항상 그렇게 작성하는 것도 아니고, 어디까지나 저의 주관적인 선호 방식이니 상황에 맞게 선언식이나 표현식을 쓰는 게 제일 좋지 않을까요?

혹시 hellofrontdev 님은 어떤 방식을 선호하시나요???

그럼 hellofrontdev 님도 즐거운 주말 보내시고요,

저의 부족한 강의 열심히 들어주셔서 항상 감사합니다 :D