클로저
-
JS 클로저 - 캡슐화와 정보 은닉Front-end 개발 2023. 8. 21. 09:01
목차 1. 요약 2. 캡슐화와 정보 은닉 3. 자주 발생하는 실수 4. 결론 자바스크립트 클로저를 공부하는데 글의 너무 길어져서 클로저의 개념과 활용과 분리하여 작성한다. 본 내용은 모던 자바스크립트 딥다이브 스터디 강의 24장의 내용 中 일부이다. (스터디 영상 21분 부터 ~) 앞선 글에서 클로저의 개념을 알아봤다. 클로저(Closure)란 생명 주기가 종료된 외부 함수의 변수를 참조하면서 더 오래 유지되는 중첩 함수를 부르는 용어다. 이번 글에서는 클로저를 활용한 캡슐화와 정보 은닉에 대해서 다룬 스터디 내용을 다룬다. 1. 요약 - 캡슐화(Encapsulation)는 프로퍼티와 메서드를 하나로 묶는 것을 말한다. - 정보 은닉이란 외부에 공개되지 않도록 감추어 적절치 못한 접근으로부터 객체의 상태..
-
JS 클로저Front-end 개발 2023. 8. 18. 08:34
멋사 프론트엔드 스쿨에서 1시간을 할애해서 이야기하고 넘어간 JS 면접 단골 질문 주제 클로저(Closures). 클로저가 무엇이고 어떻게 쓰이는 것이는지 감이 제대로 잡히지 않아서 더 찾아보고 공부한 내용을 정리한다. 아래 내용은 모던 자바스크립트 딥 다이브 스터디 영상을 보고 작성했다. 모던 자바스크립트 딥다이브 스터디 #5-1 (CH.24 클로저) 1. 요약 - JS 함수는 렉시컬 스코프를 가진다 : JS 엔진은 함수 호출 위치가 아닌 함수를 정의 위치를 기준으로 상위 스코프를 결정한다. - JS 모든 함수는 상위 스코프를 기억하므로 이론적으로 모든 함수는 클로저다. - 중첩 함수 중에 이미 생명 주기가 종료한 외부 함수의 변수를 참조한 경우 클로저(Closure) 라고 부른다. - 클로저라고 부르..