HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
🐣
프론트엔드 데브코스 3기 교육생
/
😃
나영팀
/
Function

Function

발표일
Nov 7, 2022
작성자
백민종

선정 이유

  • 금요일 저녁 유튜브를 보고 JS의 함수 선언 방식에 대해 정리해보고 싶었음.

JS의 함수 선언 방식

  • 함수 선언식
  • 함수 표현식
  • 화살표 함수
  • 기타 등등…

함수 선언식

function sum(a, b) { return a + b; } sum(1, 2);

함수 표현식

const sum = function (a, b) { return a + b; }; sum(1, 2);

함수 선언식과 표현식의 차이점

  • 함수 선언식은 호이스팅에 영향을 받지만, 함수 표현식은 호이스팅에 영향을 받지 않는다.
  • 선언식으로 함수를 선언하는 경우 세미콜론을 사용하지 않는다.
  • 표현식으로 함수를 선언하는 경우 세미콜론을 사용한다.

왜?

아래 두 코드의 결과는 무엇일까?
hello('minjong'); var hello = function(name) { return `hello, ${name}!!!`; };
hello('minjong'); function hello (name) { return `hello, ${name}!!!`; }
 
자바스크립트에서 문은 최소 실행 단위라고 말하며, 값으로 평가될 수 있는 문을 표현식이라고 한다.
세미콜론은 문의 종료를 나타내기 위해 사용한다. 단, {} 로 둘러쌓인 블록은 자체 종결성을 갖기 때문에 붙이지 않는다.

화살표 함수

const sum = (a, b) => { return a + b; };

함수 표현식과 화살표 함수의 차이점

  • 함수 표현식으로 정의한 함수의 this는 함수를 호출할 때 결정된다.
  • 화살표 함수의 this는 함수를 정의할 때 결정된다.
  • 화살표 함수는 프로토타입 프로퍼티를 갖지 않는다.