내부 함수

CC·2022년 6월 14일
0
post-custom-banner

함수 내부에서 정의된 함수

function parent() {
    var a = 100;
    var b = 200;

    function child() {
        var b = 300;
        console.log(a);
        console.log(b);
    }
    child();
}
parent();
child();
  • 내부 함수에서는 자신을 둘러싼 부모 함수의 변수에 접근이 가능하다. => 스코프 체이닝
  • 내부 함수는 일반적으로 자신이 정의된 부모 함수 내부에서만 호출이 가능하다.
    => 부모 함수에서 내부 함수를 리턴하면, 부모 함수 밖에서도 내부 함수를 호출하는 것이 가능하다.
function parent() {
    var a = 100;
    var child = function() {
        console.log(a);
    }
    return child;
}
var inner = parent();
inner();

이와 같이 실행이 끝난 parent()와 같은 부모 함수 스코프의 변수를 참조하는 inner()와 같은 함수를 클로저라고 한다.

post-custom-banner

0개의 댓글