내부 함수에서는 외부 함수의 변수에 접근 가능하지만 외부 함수에서는 내부 함수의 변수에 접근할 수 없음
자바스크립트는 변수를 호출한 함수의 지역 스코프부터 바깥으로 변수를 찾을 때까지(전역까지) 검색한다 => 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 |