본문 바로가기
junior developer :)/JS_JavaScript

함수 선언식 vs 함수 표현식 vs 화살표 함수 (JS)

by ㅁ윤슬ㅁ 2022. 9. 15.
728x90
반응형
함수 선언식

가장 기본적인 함수 선언 방식으로 함수명이 정의되어 있고, 별도의 할당 명령이 없는 특징을 가지고 있다

function add(a,b){
	return a+b
}

함수 선언식은 함수 호이스팅이 발생한다 (함수 선언문 이전에 함수를 참조/실행 할 수 있다)

함수 표현식

정의한 함수를 별도의 변수에 할당하여 사용하는 방식

let cat = function minus(x,y){
return x-y
}

함수 명 없이도 함수 표현식을 만들 수 있다

let cat = function (x,y){
return x-y
}

이런 함수표현식을 익명함수라고 한다

 - 익명함수란 함수를 재사용하지 않을 목적으로 함수에 이름을 붙이지 않는 것을 뜻한다.

화살표 함수

화살표 함수는 함수 표현식의 단축형이라고 할 수 있다

위 함수 표현식을 화살표 함수로 표현하면 이렇게 나타낼 수 있다

let cat = (x,y) => x - y

let cat = (x,y) => {return x-y}
//두 줄은 같은 화살표 함수지만 return과 중괄호는 함께 생략이 가능하다

함수를 리턴하는 함수인 클로저 함수도 화살표 함수 형식으로 작성할 수 있다

//화살표 함수
const adder = x => y => x + y

//함수 표현식
const adder = function(x){
	return function (y){
		return x + y;
	}
}
//위 두 함수는 같은 결과값이 나오는 함수이다.
728x90
반응형