YooBlog

Javascript Closer

Javascript·2023-09-16
post-thumbnail

클로져

 
렉시컬 스코프:
  • 렉시컬 스코프는 함수가 선언될 때 변수의 유효 범위가 정해지는 것이다.
  • 함수가 어디에 작성되었는지에 따라 정적으로 결정되며, 호출될 때마다 스코프가 변경되지 않는다.
  • 때문에 함수 내부에서 외부 함수의 변수에 접근할 수 있다.
클로저:
  • 클로저는 함수가 선언될 때 주변 렉시컬 스코프를 함께 기억한다.
  • 함수가 자신의 스코프 외부에 있는 변수를 "캡처"하여 해당 변수를 계속해서 참조할 수 있도록 하는 메커니즘
  • 렉시컬 스코프를 활용하여 외부 변수에 대한 참조를 유지한다.
  • 때문에 외부 함수의 실행이 끝나더라도 외부 함수의 스코프에 접근할 수 있다.
 
클로저는 함수와 그 함수가 선언될 당시의 주변 상태(렉시컬 환경)에 대한 참조가 결합된 것입니다. 다시 말해 클로저는 내부 함수에서 외부 함수의 스코프에 접근할 수 있게 해줍니다. A closure is the combination of a function bundled together (enclosed) with references to its surrounding state (the lexical environment). In other words, a closure gives you access to an outer function's scope from an inner function.
 

This


This

💡
객체를 참조하는 특별한 키워드
 

호출 시점, 함수 종류에 따라 참조하는 객체가 달라질 수 있다.

  • 전역 공간
    • 전역 객체
  • 함수
    • 전역객체
  • 메소드
    • 메소드를 소유하는 객체
  • 생성자 함수
    • 새로 생성된 객체
  • 이벤트 핸들러
    • 이벤트를 발생시킨 DOM 요소
  • 화살표 함수
    • 함수가 생성될 때의 상위 스코프의 this
    • 즉, 렉시컬 스코프

유현지

안녕하세요

홈으로