강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của winted0619163
winted0619163

câu hỏi đã được viết

Làm đi! Giới thiệu về lập trình Node.js

Ngữ pháp cơ bản về JavaScript (1)

function1, 2에 대한 질문

Viết

·

231

0

안녕하세요

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

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

case 1 :

function greeting(name){

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

}

case 2 :

let greeting = function(name){

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

}

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

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

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

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

javascriptnode.jsmongodbexpress

Câu trả lời 1

0

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

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

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

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

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

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

Hình ảnh hồ sơ của winted0619163
winted0619163

câu hỏi đã được viết

Đặt câu hỏi