ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 함수 심화와 this
    javascript 2023. 6. 24. 05:42

    변수의 유효범위와 클로저

    렉시컬 환경

     스크립트 전체와 관련된 렉시컬 환경은 전역 렉시컬 환경(global Lexical Environment)이라고 한다. ’변수’는 특수 내부 객체인 환경 레코드의 프로퍼티일 뿐이고, 변수를 가져오거나 변경’하는 것은 '환경 레코드의 프로퍼티를 가져오거나 변경’함을 의미한다. 즉, 스크립트가 시작되면 스크립트 내에서 선언한 변수 전체가 렉시컬 환경에 올라가게 되고, 프로퍼티 값은 undefined이다가 값이 할당되게 된다. 

     

    가비지 컬렉션

    함수 호출이 끝나면 함수에 대응하는 렉시컬 환경이 메모리에서 제거되고 함수와 관련된 변수들은 이때 모두 사라진다. 

     

     

    this

    Java에서의 this는 인스턴스 자신(self)을 가리키는 참조변수이다. 하지만 자바스크립트의 경우 자바와 다르게, 해당 함수 호출 방식에 따라 this에 바인딩되는 객체가 달라진다. 자바스크립트에서의 this는 함수를 선언할 때가 아니라, 함수를 호출할 때 함수가 어떻게 호출되었는지에 따라 this에 바인딩할 객체가 동적으로 결정된다. 

     

    1. 함수 호출
    2. 메소드 호출
    3. 생성자 함수 호출
    4. apply/call/bind 호출

     

    위와 같은 방식으로 함수를 호출하게 된다. 

     

    'javascript' 카테고리의 다른 글

    5월 데보션 테크 세미나 클라우드 비용 최적화 후기  (1) 2023.05.28
    자바스크립트 함수 심화  (1) 2023.05.13
    자료구조와 자료형  (0) 2023.05.07
    객체  (0) 2023.04.22
    자바스크립트 기본  (0) 2023.04.09

    댓글

Designed by Tistory.