더북(TheBook)

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 예약어가 의도하는 범위를 강제 설정합니다. 하지만 파이썬에서도 예약어 연결을 사용하여 더 명확한 범위를 강제로 지정해 동일한 효과를 얻을 수 있습니다. 대부분의 신규 개발자뿐만 아니라 대부분의 고급 파이썬 개발자들도 예상한 결과를 얻기 위해 기본 매개 변수를 설정하여 강제로 이른 연결을 적용할 수 있습니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.