클로저(closure)

Jmnote (토론 | 기여)님의 2016년 5월 8일 (일) 13:02 판 (→‎개요)
  다른 뜻에 대해서는 Clojure 문서를 참조하십시오.

1 개요

closure
클로저
  • 프로그래밍 언어에서 함수 객체의 일종
  • 여러 프로그래밍 언어에서 주로 익명함수로 구현됨
  • 인수 이외의 변수를 실행시 환경이 아니라 자신이 정의된 환경(정적 스코프)에서 해결

2 예시

function getAdder(x) {
  return function(y) {
    return x + y;
  };
}

var adder5 = getAdder(5);
var adder10 = getAdder(10);

document.write( adder5(2) + "<br>" );
document.write( adder10(2) + "<br>" );
document.write( getAdder + "<br>" );
// 7
// 12
// function getAdder(x) { return function(y) { return x + y; }; }

3 같이 보기

4 참고 자료

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}