코드캠프 부트캠프 11일차

개발일기·2022년 1월 24일
0

이벤트 버블링

이벤트 버블링이란 하나의 이벤트가 발생했을때 이 이벤트에 속해있는 요소가 실행되고, 이어서 부모 요소의 핸들러가 동작하하고 계속해서 가장 최상단의 부모 요소를 만날 때까지 이 과정을 반복하면서 요소 각각에 할당된 핸들러가 동작하는 특성을 말한다.

과제중에 게시판의 목록을 보여주고 제목이나 내용을 클릭하면 해당 게시글로 이동하게끔 하는 함수가 있었는데, 이때 제목이나 내용에 id를 주고, 작동하는 함수에는 event.target.id를 사용했었다. 하지만, 전체를 감싸주는 박스에 onClick 함수를 적용하고 event.target.id가 아닌 event.currentTarget.id를 사용하여 버블링을 막을 수 있었다.

스코프 / 스코프체인

스코프는 현재 실행되는 컨텍스트를 말한다. 즉, 해당 변수가 정의되어있는 영역으로 정의된 변수를 사용할 수 있는 범위이다. 만약 변수 또는 다른 표현식이 해당 스코프 내에 있지 않다면 사용할 수 없다. 또한 계층적인 구조를 가지기 때문에 하위스코프는 상위 스코프에 접근할 수 있지만 상위스코프에서 하위스코프로는 접근할 수 없다.

함수 a()안에서 scope를 콘솔로그했지만 undefined한 것을 볼 수 있다.

스코프체인은 해당 코드의 유효범위 안에 있는 체인이라 볼 수 있다.
변수의 값을 얻기 위해 스코프 체인에서 변수를 찾는데 첫번째 범위에 없으면 그 다음 범위로 넓혀가 변수를 찾고 없으면 그 다음 범위로 올라가 해당 변수를 찾는데 만약 범위의 끝까지 탐색했는데도 변수가 없다면 error가 발생한다.

profile
개발자가 꿈이에오

0개의 댓글