function1, 2에 대한 질문
236
投稿した質問数 1
안녕하세요
자바 개발만 하다가 노드에 관심이 있어 공부하러 온 학생입니다.
영상을 보다가 궁금한 점이 있어 질문 드리는데요.
case 1 :
function greeting(name){
console.log(`${name}님 안녕하세요.`);
}
case 2 :
let greeting = function(name){
console.log(`${name}님 안녕하세요.`);
}
두 방법 동일하게 동작하는 것은 알겠는데
case 1이 아닌 2번을 굳이 사용하는 이유를 잘 모르겠습니다.
결국 선언된 함수의 호출은 동일하게 하는데
let으로 함수를 선언하는 이유가 궁급합니다!!
回答 1
0
안녕하세요, 인프런 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

