JavaScript 클로저의 익숙한 동작 방식
// Welcome to Node.js v18.10.0.
> const make_adders = (addends) => {
... const funcs = [];
... for (const addend of addends) {
... funcs.push((x) => x + addend);
... };
... return funcs;
... };
undefined
> const adders = make_adders([10, 100, 1000]);
undefined
> for (const adder of adders) {
... console.log(adder(5));
... };
15
105
1005
undefined
비교를 위해 사용된 JavaScript 코드에서는 const 예약어가 의도하는 범위를 강제 설정합니다. 하지만 파이썬에서도 예약어 연결을 사용하여 더 명확한 범위를 강제로 지정해 동일한 효과를 얻을 수 있습니다. 대부분의 신규 개발자뿐만 아니라 대부분의 고급 파이썬 개발자들도 예상한 결과를 얻기 위해 기본 매개 변수를 설정하여 강제로 이른 연결을 적용할 수 있습니다.