[javascript] 애로우 함수와 중첩 함수

자바스크립트에서 함수의 다양한 기능을 살펴보고자 합니다. 이 글에서는 애로우 함수와 중첩 함수에 대해 알아보겠습니다.

애로우 함수

애로우 함수는 ES6에서 도입된 새로운 함수 정의 방식입니다. 애로우 함수는 function 예약어 대신 => 기호를 사용하여 정의합니다. 예를 들어, 다음과 같이 사용할 수 있습니다.

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

애로우 함수는 기본적으로 익명 함수이며, 일반 함수와는 다르게 자신의 this 값을 가지지 않습니다. 따라서, 애로우 함수 내에서 this를 사용하면 주변 범위의 this를 참조하게 됩니다.

중첩 함수

함수 안에 다른 함수를 정의하여 사용하는 것을 중첩 함수라고 합니다. 중첩 함수는 외부 함수의 범위 안에서만 유효하며, 외부 함수의 매개변수나 지역 변수에 접근할 수 있습니다.

function outerFunction() {
  const outerVar = 'outer';

  function innerFunction() {
    const innerVar = 'inner';
    console.log(outerVar); // 외부 함수의 변수에 접근
  }

  innerFunction();
}

outerFunction();

애로우 함수와 중첩 함수는 각각의 특징과 장단점을 가지고 있으며, 상황에 따라 적합한 방식을 선택하여 사용해야 합니다.

이상으로 애로우 함수와 중첩 함수에 대한 간단한 소개였습니다. 감사합니다.

[1] MDN web docs, “Arrow functions” (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions)