본문 바로가기

WEB/JavaScript

scope

내부 함수에서는 외부 함수의 변수에 접근 가능하지만 외부 함수에서는 내부 함수의 변수에 접근할 수 없음


자바스크립트는 변수를 호출한 함수의 지역 스코프부터 바깥으로 변수를 찾을 때까지(전역까지) 검색한다 => scope chain


1
2
3
4
5
6
7
8
var foo = (function () {
  var x = 'local';
  return {
    y: function() {
      alert(x);
    }
  };
})();
cs

위와같은 형태를 IIFE(즉시 호출 함수 표현식)이라고도 하고, 모듈 패턴이라고도 하는데, 함수를 선언하자마자 바로 실행시킴.


바로 실행시켜서  지역변수를 안전하게 사용할 수 있고 겹칠 우려도 없어짐


'WEB > JavaScript' 카테고리의 다른 글

function, property, method 정의  (0) 2018.04.02
Closure  (0) 2018.03.30
호이스팅  (0) 2018.03.30
클래스와 인스턴스  (0) 2018.03.22
if문 축약  (0) 2018.03.21