코어 자바스크립트 예제 5-14 질문
안녕하세요. 모던 자바스크립트를 읽다가 책이 빠르게 굵직한 부분을 훑고 싶어 강사님의 저서 '코어 자바스크립트'를 읽던 중 질문이 생겨 질문드립니다. 먼저 강의에 관련된 질문이 아닌 점 죄송합니다.
클로저, 135쪽, 예제 5-14, 부분 적용 함수 구현(1)
1. 9번째 줄의 arguments는 7번째 줄에서 return되는 익명함수의 렉시컬 환경에서 새로 생성된 argument이기 때문에 partial함수의 렉시컬 환경의 arguments(2번째 줄)과 다르다.
2. 7번째 줄에서 익명함수 선언 시 9번째 줄의 arguments는 익명함수의 렉시컬 환경에 수집되어 빈 객체 상태로 익명함수가 return된다.(실행 컨텍스트가 활성화 된느 시점이 아닌 선언 시점에 정보가 수집된다.)
3. 후에 21번째 줄에서 익명함수를 할당받은 addPartial 함수가 22번째 줄에서 호출 될때 7번째 줄의 arguments가 arguments object [6,7,8,9,10]로 재할당 된다.
4. 8번째 줄의 originalPartialArgs가 클로저를 이용한 것이다.
처음에 7번째 줄의 익명함수 속 arguments가 상위 스코프의 arguments(2번째 줄)을 참조한다고 생각했고 결과가 달라 고민한 결과 위와 같이 결론을 내렸습니다. 제가 잘 이해한 것인지 확인받고싶어 질문 드렸습니다. 다시한번 강의와 무관한 질문 드려 죄송합니다.
답변 3
1
전부 맞게 이해하셨습니다.
function 키워드를 사용한 모든 함수는 arguments를 내장합니다.
따라서 상위 스코프의 arguments를 사용하려면 작성하신 대로 originalPartialArgs와 같은 변수에 담아두어야 합니다.
0
마지막 두 줄입니다.
mission12-01 guide.md파일 누락
0
9
1
자료집 관련
0
13
2
13. (App 2) 기본기 훈련 에서
0
23
1
챌린지 시작일 문의
0
26
0
2. 어떤 도구를 사용하는 것이 가장 유리할까? 강의 중
0
26
1
11차시 Antigravity IDE 설치 후
0
24
1
처음 에이전트 설정을 잘못 했을 경우 수정 하는 방법
0
28
1
5,6,7,8 내용이 없어요
0
29
1
ThemeProvider를 이용해서 NextThemeProvider를 따로 생성하여 Layout.tsx에 적용하는 이유는 뭘까요?
0
23
1
mission 09-01 을 수행할 수 없어요
0
30
1
Context API vs Zustand 그리고 Auth
0
38
2
순수 함수 / 순수 컴포넌트
0
24
1
css box-sizing 관련 질문
0
35
2
스니펫이 이상해요
0
33
2
Editor Component의 최적화 불가능 이슈
0
38
2
useCallback ⊂ useMemo
0
38
2
깃허브 저장소를 어디에 첨부하셨나요?
1
41
1
nestjs 강의는 없나요??
1
41
2
브라우저의 ES6 모듈(ESM)을 사용하도록 Babel을 설정
0
301
2
할당문
0
347
1
함수 부분 질문입니다.
0
514
1
생성자 함수를 즉시실행함수로 감싸는 이유가 궁금합니다.
1
833
1
실행컨텍스트에서 BindingObject를 통한 객체의 프로퍼티와 메서드 질문
0
594
1
안녕하세요.
0
466
1





