7.6 함수, 클로저, 정적 스코프
전통적인 프로그램
모든 함수를 전역에서 정의하고, 전역 스코프를 참조하지 않도록 함
최신 자바스크립트
함수가 필요한 곳에서 즉석으로 정의할 때가 많음
ex. 함수를 변수나 객체 프로퍼티에 할당, 배열에 추가, 다른 함수에 전달, 함수가 함수를 반환, 이름 없을 때도 있음
클로저
함수가 특정 스코프에 접근할 수 있도록 의도적으로 그 스코프에서 정의하는 경우
스코프를 함수 주변으로 좁히는(closing) 것
스코프 안에서 함수를 정의하면 해당 스코프는 더 오래 유지됨
함수를 정의해 클로저를 만들면 일반적으로는 접근할 수 없는 것에 접근할 수 있음
Last updated