코어 자바스크립트 예제 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
마지막 두 줄입니다.
10월 15일 삭제예정 강의 문의
0
37
1
강의제목에 10/15일 삭제라고 나와있는데,
0
48
1
스크립트 영상 미일치
0
76
3
감정일기장 다이어리 필터 적용할때 컨텍스트를 Home에서 가져오는 특별한 이유가 궁금합니다.
0
57
2
강의 설명 중에 헷갈리는 것이 있네요
0
58
1
수업자료 관련 문의
0
66
3
1강 동영상 재생 오류
1
67
2
Composition단계에서 `Layer`는 누가 만드는지
0
44
1
Strict Mode 예시 질문!
0
58
2
수업이 안보여요
0
63
1
저자 블로그에 있는 강의는 어떤 강의인가요?
1
62
1
[해결됨]윈도우즈 환경에서 타입 스크립트 파일이 실행이 안됩니다.
1
86
5
4강 카드뉴스 자동화 자료가 안보입니다!!
0
107
2
윈도우즈 환경에서 진행중입니다.
0
63
2
4강 카드뉴스 자동화 자료
6
124
1
라이브 강의 영상 녹화본이 있을까요?
0
100
1
인증이 늦었습니다ㅜㅜ 확인부탁드립니다
0
89
1
스웨거 접속이 안되는데 확인 부탁드립니다.
0
64
1
브라우저의 ES6 모듈(ESM)을 사용하도록 Babel을 설정
0
325
2
할당문
0
365
1
함수 부분 질문입니다.
0
530
1
생성자 함수를 즉시실행함수로 감싸는 이유가 궁금합니다.
1
852
1
실행컨텍스트에서 BindingObject를 통한 객체의 프로퍼티와 메서드 질문
0
609
1
안녕하세요.
0
480
1





