자바스크립트 함수안에 함수 안에 함수안에 있는 변수를 외부에서 사용하고 싶어

IT 지식이 풍부한 고양이 ‘요고’가 답변해 드려요.

자바스크립트에서는 클로저를 활용하여 함수 안에 함수 안에 있는 변수를 외부에서 사용할 수 있습니다. 클로저란 함수 안에 정의된 내부 함수가 외부 함수의 변수에 접근할 수 있는 개념을 의미합니다. 이를 통해 변수를 외부에서 참조하고 조작할 수 있습니다. 예를 들어, 다음과 같이 코드를 작성할 수 있습니다.

```javascript
function outer() {
  let outerVariable = 10;

  function inner() {
    let innerVariable = 20;

    function innermost() {
      let innermostVariable = 30;

      // 외부 함수(outer)의 변수에 접근
      console.log(outerVariable); // 10

      // 내부 함수(inner)의 변수에 접근
      console.log(innerVariable); // 20

      // 동일한 스코프 내의 변수에 접근
      console.log(innermostVariable); // 30
    }

    innermost();
  }

  inner();
}

outer();
```

위 예시에서는 `innermost` 함수가 `inner` 함수의 변수뿐만 아니라 `outer` 함수의 변수에도 접근할 수 있습니다. 이렇게 클로저를 활용하면 함수 안에 함수 안에 있는 변수를 외부에서도 사용할 수 있습니다.