inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

Svelte.js [Core API] 완벽 가이드

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

해결된 질문

274

hellofrontdev

작성한 질문수 15

2

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

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

<저의 생각>

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

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

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

남은 주말 잘보내세용

Rollup Sortable svelte

답변 2

3

hellofrontdev

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

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

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

2

HEROPY

hellofrontdev님 안녕하세요!

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

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

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

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

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

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

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

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

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

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

56강 4. 슬롯 포워딩이 Svelte 5 부터는 적용 불가

0

207

1

5 라이프사이클 모듈화 - 질문

0

285

1

소스코드

0

268

1

스벨트킷 강의는 안해주시나요?

0

334

1

강의 소스 코드

1

657

2

aws ec2 배포시 질문

1

883

2

vite 사용하는 예시 추가 계획은 없으실까요?

2

444

1

터미널에서 npx를 치실 때 흐린색으로 가이드처럼 나오는건 어떻게 해야 하나요?

1

379

1

textarea에서 esc 키를 누를 때 오류

1

334

1

스벨트 반응성에 대해 질문드립니다!

1

470

1

백엔드는 어떻게 배우면 좋을까요?

1

305

1

scss를 사용하기 위한 sveltePreprocess() 실행 위치가?

1

394

1

보간한다는 뜻을 무슨 의미로 이해해야 하나요?

1

6127

2

[0:15] Vuejs 인라인 핸들러 비권장 설명

1

304

1

로그인 정보를 확인할 때

1

251

1

재렌더링 때 interval 처리 질문

1

287

1

7:10초 설명에 질문 있습니다.

1

268

1

:global() 에서 & 적용이 안되는거 같아요

2

298

1

promise 변수에 초기값 관련 질문입니다.

1

383

2

혹시 vue 처럼 classObject 객체를 통해 제어하는 방법은 없을까요?

1

232

1

onMount 응용해서 적용해보려고 하는데 오류가 나네요.

1

341

1

패키지 설치 시 퍼미션 에러

1

295

1

스토어를 왜 사용하는지 궁금합니다

0

236

1

node-sass 설치 오류

1

2055

2