"클로저(closure)"의 두 판 사이의 차이

 
(같은 사용자의 중간 판 2개는 보이지 않습니다)
18번째 줄: 18번째 줄:
var adder10 = getAdder(10);
var adder10 = getAdder(10);


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


29번째 줄: 26번째 줄:
* [[익명함수]]
* [[익명함수]]
* [[1급 함수]]
* [[1급 함수]]
* [[Go 클로저]]
* [[Python 클로저]]
* [[Python 클로저]]


34번째 줄: 32번째 줄:
* {{위키백과|클로저 (컴퓨터 프로그래밍)}}
* {{위키백과|클로저 (컴퓨터 프로그래밍)}}


[[분류: 프로그래밍]]
[[분류: 클로저]]

2021년 10월 20일 (수) 13:19 기준 최신판

  다른 뜻에 대해서는 Clojure 언어 문서를 참조하십시오.

1 개요[ | ]

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

2 예시[ | ]

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

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

console.log( adder5(2) ); // 7
console.log( adder10(2) ); // 12
console.log( getAdder ); // function getAdder(x) { return function(y) { return x + y; }; }

3 같이 보기[ | ]

4 참고[ | ]

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