inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

시나브로 자바스크립트

01. DOM API 의 기본 - (5 of 6) Event handling in bulk

클로저에 대해서 제가 아는 부분을 공유합니다!

해결된 질문

657

withkey

작성한 질문수 13

1

클로저에 대해서 어렴풋이 알고 있었지만, 막상 이벤트 핸들러 안에서 그것을 바라보니 조금 이해가 안되었는데요!

저처럼 아직 클로저가 익숙하지 않은 분들은 이벤트핸들러를 분리해서 보면 조금 더 이해가 쉽습니다!

그리고 디버거를 이용해서 스코프 안에 있는 변수들을 같이 보면 조금 더 이해가 되실거에요!

일단 클로저를 "어떤 함수가 선언될 때 외부 영역을 기억하는 것" 이라고 생각하고 이 코드를 바라보면

onHelloButtonHandler 라는 함수(이벤트핸들러) 가 선언될 때 myCardCount 의 값을 기억합니다. 즉, Add Card를 할 때마다 + 1씩 올라간다고 하더라도 onelloButtonHandler 에게는 선언될 당시의 cardCountmyCardCount 로 받아서 기억하는 것이죠! 개발자 도구 우측에 Scope을 보면 onHelloButtonHandler 함수의 스코프체인을 볼 수 있는데요. myCardCount 가 로컬에 없기 때문에 그 위 스코프를 바라보는데요! 그 스코프가 바로 클로저이고! 저 클로저 스코프 안에 있는 myCardCount 라는 값은 이 함수가 선언될 당시의 값으로 정해집니다! 끝!!

javascript vanilla-js

답변 1

1

이은재

공유 감사합니다 devWithkey 님! 😊

섹션2퀴즈는어디있나요?

0

5

0

state 객체로 묶기

0

18

0

몽고 db 접속 오류

0

18

1

3강 질문

0

41

2

74. 데이터 캐시 - 1 (이론) 강의 영상 누락

0

35

1

2강 nodejs 3단계 설명 질문

0

46

1

imagesLoaded에 관한 질문

0

22

2

useEffect와 lifecycle문의

0

36

2

프론트엔드 학습 수준 문의

0

48

2

리액트 챕터별 코드에서 eslint 설정파일이 없어요

0

53

2

최근 코테, 과제 테스트 트렌드

0

83

2

깃헙 초대 관련

0

62

2

virtual dom과 관련된 인식 피드백

0

68

1

getInitialHTML을 꼭 빌드된 dist 디렉토리 내 파일에서 import하는 이유가 있나요??

1

151

2

번들러를 꼭 사용해야하나요?

3

623

1

filter test 마지막 문제 결과값이 이상합니다.

2

351

1

reactivity.js 를 proxy로 수정 후 오류

0

519

2

첫 강의 배포 & 번들러의 기초에 대한 제 이해가 맞는지 궁금합니다

1

524

1

yarn dev 안되요..

1

564

1

yearn create 1분정도

1

332

1

콘솔창 $0과 this에 대해

0

684

1

소스파일

0

674

2

백틱 치환 기능이 궁금합니다.

0

548

1

쇼핑물 api 입니다.

4

811

1