[javascript] 애로우 함수와 호이스팅

자바스크립트에서 애로우 함수와 호이스팅은 중요한 주제입니다. 애로우 함수는 ES6에서 도입된 새로운 문법으로, 함수를 간결하게 정의하는데 사용됩니다. 호이스팅은 변수 및 함수 선언이 스코프 내의 최상단으로 “끌어올려지는” 동작을 가리킵니다. 이러한 주제에 대해 자세히 살펴보겠습니다.

애로우 함수 (Arrow Functions)

애로우 함수는 function 키워드를 사용하지 않고도 함수를 정의할 수 있게 해줍니다. 다음은 간단한 애로우 함수의 예시입니다.

// 일반 함수
function add(a, b) {
  return a + b;
}

// 애로우 함수
const add = (a, b) => a + b;

애로우 함수의 장점 중 하나는 this의 동작 방식입니다. 애로우 함수에는 자신만의 this가 없으며, 상위 스코프의 this를 그대로 사용하므로 코드를 보다 간결하게 만들어줍니다.

호이스팅 (Hoisting)

호이스팅은 변수 및 함수 선언이 스코프 내의 최상단으로 끌어올려지는 것을 의미합니다. 이는 코드의 구현 순서와는 다른 결과를 가져올 수 있으므로 주의가 필요합니다.

예를 들어, 다음과 같은 코드에서는 변수 x가 선언보다 먼저 사용되어도 오류가 발생하지 않습니다.

console.log(x);  // 출력: undefined
var x = 5;

호이스팅은 변수의 선언만 끌어올려지며, 초기화는 끌어올려지지 않는다는 것을 기억해야 합니다.

애로우 함수와 호이스팅은 모두 자바스크립트의 중요한 기능 중 하나이며, 이를 잘 숙지하고 활용한다면 보다 효율적인 코드를 작성할 수 있을 것입니다.

참고 자료

위 주제에 대해 자세히 알아보고자 한다면 MDN Web Docs에서 더 많은 정보를 확인해보세요.