(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)피포구조
컨트롤제트 는 스텍구조/리포구조인것 !!