클로저
자바스크립트에서 내부 함수가 외부 항수의 스코프에 접근할 수 있게 해주는 특성입니다.
클로저를 사용하는 경우
스코프 범위를 제어하고 변수의 접근성을 제한하여 보안성을 높일 수 있습니다.
ex) 개인 정보를 보호하는 캡슐화 / private 변수 및 함수 생성 /고차함수에서 콜백함수
예시 코드
function createPerson(name) {
let _name = name;
return {
getName: function() {
return _name;
},
setName: function(name) {
_name = name;
}
};
}
const person = createPerson('John Doe');
console.log(person.getName()); // 'John Doe'
person.setName('Jane Doe');
console.log(person.getName()); // 'Jane Doe'
클로저 사용 주의 사항
클로저 사용 시 해당 함수의 스코프가 가비지 컬렉션 대상에서 제외되기 때문에 불필요한 메모리를 차지할 수 있습니다.
클로저를 적절히 사용하여 메모리 누수를 방지해야합니다.
참고
https://f-lab.kr/insight/understanding-closures
728x90
반응형
'개발공부 > JavaScript&TypeScript' 카테고리의 다른 글
[Javascript] Intersection Observer API (0) | 2024.03.02 |
---|---|
import할 때 중괄호를 쓸때 안쓸때 차이 (1) | 2023.10.17 |
Typescript 인터페이스 (0) | 2023.10.15 |
Typescript annotations (0) | 2023.10.10 |
Javascript 헷갈리는 for문 4종류 (0) | 2023.10.10 |
댓글