클로저

    [JavaScript] 호이스팅과 클로저

    [JavaScript] 호이스팅과 클로저

    클로저 자바스크립트에서 함수는 일급 객체(First Class Object)로 취급된다. 일급 객체란? 다른 객체들에 일반적으로 적용 가능한 연산을 모두 지원하는 객체를 가리킨다. 변수에 할당할 수 있으며, 다른 함수를 인자로 전달받는다. 또, 다른 함수의 결과로 return 될 수 있다. 클로저는 Factory 함수가 저장되는 공간이라고 할 수 있으며 일급 객체 성질을 이용한다. 선언된 createCard()를 객체 처럼 다룰 수 있다. 여러 클로저를 생성시에 각각의 스코프가 생성되어, 내부 변수는 공유되지 않는다. Factory 함수란? 함수들을 객체의 형태로 return 하는 함수. 위의 코드의 createCard()도 Factory 함수이다. Class를 return 생성, return하는 경우도..