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

(새 문서: ==개요== ;closure ;클로저 *프로그래밍 언어에서 함수 객체의 일종 *여러 프로그래밍 언어에서 람다식익명함수로 구현됨 *인수 이외...)
 
 
(사용자 2명의 중간 판 18개는 보이지 않습니다)
1번째 줄: 1번째 줄:
{{다른뜻|Clojure 언어}}
==개요==
==개요==
;closure
;closure
;클로저
;클로저, 클로져
*프로그래밍 언어에서 함수 객체의 일종
*프로그래밍 언어에서 함수 객체의 일종
*여러 프로그래밍 언어에서 [[람다식]]과 [[익명함수]]로 구현됨
*여러 프로그래밍 언어에서 주로 [[익명함수]]로 구현된다.
*인수 이외의 변수를 실행시 환경이 아니라 자신이 정의된 환경(정적 스코프)에서 해결
*인수 이외의 변수를 실행시 환경이 아니라 자신이 정의된 환경(정적 스코프)에서 해결한다.
 
==예시==
<syntaxhighlight lang='JavaScript' run>
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; }; }
</syntaxhighlight>


==같이 보기==
==같이 보기==
*[[익명함수]]
* [[익명함수]]
* [[1급 함수]]
* [[Go 클로저]]
* [[Python 클로저]]


==참고 자료==
==참고==
*https://en.wikipedia.org/wiki/Closure_(computer_programming)
* {{위키백과|클로저 (컴퓨터 프로그래밍)}}


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

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 }}