뚱뚱한 화살과 this와 jQuery

ES6에서는 function 대신 **화살표 함수(=>)**를 사용합니다. 영어로 Fat Arrow(뚱뚱한 화살)라고 부르는 표기법은 단순히 function을 바꾼 것으로 알고 있는 분들이 계시지만 실제론 그렇지 않습니다.

위의 예시는 두 차이를 극명하게 보여줍니다.

1. #element1****의 this : element1

2. #element2****의 this : global

이유는 화살표 함수에서의 this와 function에서의 this가 다르기 때문입니다. 화살표 함수 안의 this는 함수 밖의 this와 같은 값을 가집니다. 그렇기 때문에 element2와 같이 코딩을 하는 경우 함수 밖의 영향을 받아 this가 매번 변화할 수 있습니다.

그러면 어떻게 기존 jQuery 코드를 화살표 함수 형태로 변경할 수 있을까요?

위와 같이 화살표 함수 내에 매개변수를 넣어 선택된 엘리먼트를 지정해줍니다. 이렇게 하면 위에서와 동일한 작동합니다.

위의 코드를 작동시켜보면 선택된 엘리먼트 뿐 아니라 자녀 엘리먼트에게도 영향을 줍니다. 부모 엘리먼트인 element1 하위의 모든 엘리먼트에 영향을 주게 되는데 element1에만 영향을 주고 싶다면 아래와 같이 하면 됩니다.

위의 코드를 해석하면 element1이 포함하는 모든 구역에서 클릭이 될 때 element1에만 'clicked' 클래스가 추가됩니다. 자녀 엘리먼트는 영향을 받지 않습니다.

조금 더 나아가서 엘리먼트 하위의 특정 자녀들에게만 이벤트를 부여하는건 어떻게 할 수 있을까요?

이렇게 #my-list에 대해서 이벤트를 하나 부여하여 모든 태그에 대해서 동일한 이벤트를 부여할 수 있습니다. 위의 코딩 스타일은 각각의 li에 이벤트를 부여하는 것보다 자원을 아낄 수 있을 뿐 아니라 유지보수에도 도움을 줍니다.

Comments

    More from Howdy의 블로그

    See all posts

    특별한 법칙은 아니지만 자주 생각하려는 법칙이 있다. 향기의 법칙이라고 명명한 이 법칙은 무척이나 간단하다. 어떠한 상황에서든 상대를 유혹하라는 것이다. 원하는 것이 있다면 상대방이 원하도록 유혹하는 것이다. 이는 아주 간단한 원칙인데 동시에 매우 달성하기 어려운 법칙이기도 하다. 향…

    Sanghoon Han

    향기의 법칙

    Hearts 1Comments 110/07/2026

    하루가 멀다하고 사고가 터지는 것이 인간사. 인간이 만든 것 중 무엇이 대단하다 말할 수 있을까. 무엇이 완전하다 말할 수 있을까. 무엇이 영원하다 말할 수 있을까. 영원한 것은 단 하나도 없고 먼지가 쌓이지 않는 것도 단 하나도 없다. 기회 역시 영원하지 않아서 영원할 것 같은 젊음…

    Sanghoon Han

    영원하지 않다

    Hearts 0Comments 010/07/2026

    이카루스는 태양에 가까이 가면 안된다는 것을 알았으나 높게 날았다. 깃을 붙인 밀납이 녹아 깃이 떨어져 나가고 나서야 그는 자신의 미래를 보았다. 자유로 향하는 날개를 얻었을 때 태양을 향해서도 바다를 향해서도 안됐다. 고도를 유지하며, 섬세하게 바람을 타지 않는다면 어디로든 날아갈…

    Sanghoon Han

    자유의 날개

    Hearts 0Comments 010/07/2026

    인간이 보편적으로 누리는 권리는 대부분 거래를 통해 획득했다. 참정권은 군복무, 참전으로 얻었고, 링컨의 노예제 해방을 위해선 산업화된 사회에서의 흑인 인권이 필요했다. 반면 노예를 사용하는 것이 경제적 이득이 되는 남부군의 입장에서는 당시 기준으로 재산권 침해에 해당한다고 보았기에…

    Sanghoon Han

    민주주의 붕괴

    Hearts 0Comments 010/07/2026