JS Closure

문혜민·2022년 4월 13일
0

Closure

(aaa())() ==>aaa() 감싸고있는 괄호는 생략가능!
aaa() 가 bbb함수를 리턴하게됨
그 bbb 함수를 실행하려면() 를 해줘야함!!

aaa()() 에 bbb라는 말은 아예없는데 bbb가 실행됨!
결국 bbb의 이름은 어떤거든 상관없음~~

function aaa(){
    let apple = "이건 사과예요"
    
   return function bbb(){
       let banana="이건 바나나예요"
        console.log("안녕하세요")
       console.log(apple)
       console.log(banana)
    }

}

aaa()()
==>안녕하세요
이건 사과예요
이건 바나나예요

스코프체인에의해서 내부함수에서 외부함수에있는 변수에 접근할 수있다.
이영역을 클로저 라고 한다.
내부함수에서 외부함수의 변수(지역변수)에 접근할 수 있다. 이영역을 클로저 라고 한다아아악!!

function aaa(apple){
    
   return function bbb(banana){
        console.log("안녕하세요")
       console.log(apple)
       console.log(banana)
    }

}

aaa("이건사과예여")("이건바나나예여")
==>안녕하세요
이건사과예여
이건바나나예여

매개변수로 받는것도 가능하닷

aaa("이건사과예여")("이건바나나예여") 요 내용이 HOC 만드는데에 필요하다.

stack 마지막으로 들거간게 처음으로 빠짐(firt-In-Last-Out/Last-In-first-Out)리포구조
queue 선입선출(firt-In-Firtst-Out)피포구조

컨트롤제트 는 스텍구조/리포구조인것 !!

profile
프론드엔드 06

0개의 댓글