본문 바로가기
자바스크립트

[자바스크립트] 화살표 함수 기초

by 세바개님 2023. 3. 12.

화살표 함수는 ES6(ES2015)에서 도입된 새로운 함수 정의 방법 중 하나입니다. 화살표 함수는 함수를 간결하고 간편하게 작성할 수 있도록 해주며, 코드의 가독성을 높일 수 있습니다.

1. 일반 함수와 다른 점

 

1) 함수 표현식에서 사용

화살표 함수는 함수 표현식에서 사용됩니다. 함수 선언문에서는 사용할 수 없습니다.

2) 함수 이름 생략

화살표 함수는 함수 이름을 생략할 수 있습니다. 변수에 함수를 할당하면서 함수 이름을 생략할 수 있습니다.

3) 중괄호 생략

화살표 함수는 중괄호를 생략할 수 있습니다. 함수의 본문이 한 줄인 경우 중괄호를 생략할 수 있습니다.

4) 함수의 매개변수

화살표 함수는 함수의 매개변수를 괄호 안에 넣습니다. 매개변수가 하나뿐이면 괄호를 생략할 수 있습니다. 매개변수가 없는 경우에는 괄호를 비워둡니다.

 

2. 예제 코드

이제 간단한 화살표 함수의 예제를 살펴보겠습니다.

 

// 일반적인 함수 정의 방법
function square(x) {
  return x * x;
}

// 화살표 함수로 정의한 방법
const square = (x) => {
  return x * x;
};

// 중괄호를 생략한 방법
const square = (x) => x * x;

// 매개변수가 하나뿐인 경우, 괄호를 생략한 방법
const square = x => x * x;

// 매개변수가 없는 경우, 괄호를 비워둔 방법
const sayHello = () => console.log("Hello!");


위의 예제에서 보듯이, 화살표 함수는 함수를 간결하고 간편하게 작성할 수 있도록 해주며, 가독성을 높일 수 있습니다. 하지만 화살표 함수는 일부 경우에는 일반 함수와 다른 동작을 하기 때문에, 사용할 때 주의해야 합니다.

 

3. 주의할 점

 

화살표 함수를 사용할 때 주의해야 할 몇 가지 사항이 있습니다.


1) this의 값이 달라질 수 있다

화살표 함수는 함수를 정의할 때, this의 값을 상위 스코프에서 상속받습니다. 하지만 일반 함수에서 this는 호출되는 방법에 따라 동적으로 결정되기 때문에, 화살표 함수에서 this를 사용할 때 주의해야 합니다.

2) arguments 객체를 사용할 수 없다

화살표 함수는 arguments 객체를 사용할 수 없습니다. arguments 객체는 함수 내에서 사용 가능한 유사 배열 객체이며, 일반 함수에서는 사용할 수 있지만 화살표 함수에서는 사용할 수 없습니다.

3) 생성자 함수로 사용할 수 없다

화살표 함수는 생성자 함수로 사용할 수 없습니다. 생성자 함수는 new 연산자와 함께 사용하여 새로운 객체를 생성할 수 있는 함수를 말합니다. 하지만 화살표 함수는 prototype 프로퍼티가 없기 때문에 생성자 함수로 사용할 수 없습니다.

4) 함수 표현식으로만 사용 가능하다

화살표 함수는 함수 표현식으로만 사용할 수 있습니다. 함수 선언문으로는 사용할 수 없습니다.


5) return 문이 생략된 경우, undefined 값을 반환한다

화살표 함수에서 return 문이 생략된 경우, 함수의 본문이 실행되고 undefined 값을 반환합니다.

따라서, 이러한 주의사항을 염두에 두고 화살표 함수를 사용해야 합니다. 적절하게 사용하면 코드의 가독성을 높일 수 있고, 불필요한 코드를 줄일 수 있습니다.

댓글