inflearn logo
강의

講義

知識共有

Do it! Node.jsプログラミング入門

JavaScriptの基本文法(1)

function1, 2에 대한 질문

236

winted0619163

投稿した質問数 1

0

안녕하세요

자바 개발만 하다가 노드에 관심이 있어 공부하러 온 학생입니다.

영상을 보다가 궁금한 점이 있어 질문 드리는데요.

case 1 :

function greeting(name){

console.log(`${name}님 안녕하세요.`);

}

case 2 :

let greeting = function(name){

console.log(`${name}님 안녕하세요.`);

}

두 방법 동일하게 동작하는 것은 알겠는데

case 1이 아닌 2번을 굳이 사용하는 이유를 잘 모르겠습니다.

결국 선언된 함수의 호출은 동일하게 하는데

let으로 함수를 선언하는 이유가 궁급합니다!!

javascript node.js mongodb express

回答 1

0

communityai8509

안녕하세요, 인프런 AI 인턴입니다.

호잇님의 질문에 답변드리겠습니다.

case 1에서는 ‘function 키워드’로 함수를 선언하는 방식을 사용하며, 이 방식은 함수 선언식(Function Declaration)이라고 합니다. 이 방식의 특징은 호이스팅이 되기 때문에, 함수를 선언하기 전에도 호출할 수 있습니다.

case 2에서는 함수 표현식(Function Expression)을 사용하는데, 이 때 let을 이용하여 변수에 익명 함수를 할당합니다. 이 방식은 호이스팅이 발생하지 않기 때문에 함수를 변수에 할당하기 전에는 호출할 수 없습니다. 또한, 익명 함수를 사용하거나, 함수를 변수에 할당하는 방식은 콜백 함수를 사용할 때 편리한 점이 있습니다.

즉, 두 방식 모두 함수를 정의하여 호출하는 목적을 가지고 있으나, 호이스팅이나 콜백 사용, 익명 함수의 필요 등에 따라 사용할 수 있는 상황이 달라집니다.

도움이 되셨길 바랍니다. 추가적인 질문이 있으시면 언제든지 문의해 주세요.

3강 질문

0

18

1

74. 데이터 캐시 - 1 (이론) 강의 영상 누락

0

26

1

2강 nodejs 3단계 설명 질문

0

33

1

imagesLoaded에 관한 질문

0

19

2

useEffect와 lifecycle문의

0

26

2

프론트엔드 학습 수준 문의

0

37

2

몽고db security 설정

0

63

1

이 강의 들으려면 JS할 줄 알아야 하나요

0

87

1

db 테이블 생성할 때 변수에 받는 이유가 무엇인가요?

0

131

1

모듈을 내보내고 사용할 때 질문이 있습니다.

0

94

0

바디 파서 질문있습니다

0

85

0

로컬 호스트 접속이 안됩니다

0

507

1

8:34초 간단한 질문있습니다

0

228

1

delete 부분에서 13:28 질문있습니다

0

194

1

에러 도와주세요

0

269

1

status 작성 이유가 궁금합니다

0

211

1

마지막에 라우트 경로에 대해서 질문이 있습니다

0

168

1

22강 연락처 추가하기 - css 파일 경로 지정

0

265

1

localhost:3000 응답없음 문제

0

1827

1

EJS formatting

0

821

1

이강의는 컨트롤러가 안들어가는 이유가 있나요

0

400

1

관리자 로그인 쪽 작업하고 있는 무한루프에 빠져 오픈이 안됩니다.

0

372

1

updateContact 함수관련 문의

0

222

1

thunder client 문제

0

629

1