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

8번째 줄: 8번째 줄:


==예시==
==예시==
<syntaxhighlight lang='JavaScript'>
<syntaxhighlight lang='JavaScript' run>
function getAdder(x) {
function getAdder(x) {
   return function(y) {
   return function(y) {
25번째 줄: 25번째 줄:
// function getAdder(x) { return function(y) { return x + y; }; }
// function getAdder(x) { return function(y) { return x + y; }; }
</syntaxhighlight>
</syntaxhighlight>
<jsfiddle height='120'>8jwfgjk4</jsfiddle>


==같이 보기==
==같이 보기==

2021년 10월 20일 (수) 13:18 판

  다른 뜻에 대해서는 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 }}