HANA -J

클로저 본문

개발/Javascript

클로저

Hana-J 2021. 12. 15. 09:57

공부한 블로그 <----최고시다.

https://joshua1988.github.io/web-development/javascript/javascript-basic-summary/

 

간단히 훑어보는 자바스크립트 기본기 다지기

(기본) 자바스크립트 입문자부터 숙련자까지 간단히 보기 좋은 요약본

joshua1988.github.io

클로저

실행이 끝난 함수의 스코프를 참조할 수 있는 함수 

function me(){
	var a = "HANA is done";
    function you(){
    	consol.log(a);
     }
     return you;
}

var closure = me();
closure(); // "HANA is done"

return 값에 you를 넘김으로써 외부에서도 you를 호출할 수 있게 된다. you에서 me의값을 참고하고 있다면, me 의 변수에 접근이 가능하게 된다.

클로저를 활용해 속성 및 메서드의 범위를 정할 수 있다.

var Module = (function() {
    var privateProperty = 'foo';
    function privateMethod(args) {
      console.log('private method');
    }

    return {
        publicProperty: '',
        publicMethod: function(args) {
          console.log("public method");
        },
        privilegedMethod: function(args) {
          return privateMethod(args);
        }
    };
})();

Module.privilegedMethod();  //private method

자바스크립트 동작과정

1. 변수, 함수선언, arguments을 가진 활성 객체 생성

2. Scope Chain 생성 및 초기화 (변수초기화 : 변수 값에 undefined할당)

3. this바인딩

4. 코드 해석 및 실행 (변수값 할당 : 변수에 실제 값 할당)

 

 

728x90

'개발 > Javascript' 카테고리의 다른 글

25. 클래스  (0) 2021.11.29
13. 전역변수의 문제점  (0) 2021.11.28
12. 즉시호출 함수 표현식(IIFE)와 node.js require()함수  (0) 2021.11.25
12. 함수(1)  (0) 2021.11.25
8-11장  (0) 2021.11.20
Comments