junior developer :)/JS_JavaScript

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

ㅁ윤슬ㅁ 2022. 9. 15. 19:44
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
반응형