• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

e를 구조분해를 통해 값을 불변적으로 다룰수있다는 것에 대해 궁금합니다

19.05.22 15:33 작성 조회수 140

4

e를 통해 접근하면 웹 api가 e를 null로 초기화해버려 접근할 수 없게된다는 게 잘 이해가 되지않는데요.

이벤트 객체 e의 경우에는 웹 api가 콜스택이 끝나면 e를 null로 초기화하기 때문에 이벤트리스너가 비동기적 상황에서 e에 대한 클로저로 사용될수 없는건가요?

즉, 구조분해를 통해 이벤트객체가 아닌 currentTarget만 따로 뽑아서 클로저로 사용한다. 이런 뜻이 맞나요?

답변 1

답변을 작성해보세요.

6

네네 맞습니다. :)

이벤트 객체 e의 e.currentTarget 프로퍼티의 값이 특정 시점 이후로 초기화 되기 때문에 저렇게 쓰면 좋다.

머 그런 이야기구요.

그냥 동시성 혹은 비동기가 필요한 상황에서의 프로그래밍 전반적인 이야기를 한건데요.

동시성 상황에서 어떤 곳에서 값을 가변적으로 다루면 이런 위험성이 생기기 마련이다.

이런걸 잘 알고 코딩해야한다. 그런 의미입니다.

그리고 여기서 말하는 Web Apis는 브라우저 api를 말합니다.

https://developer.mozilla.org/kab/docs/Web/API

https://developer.mozilla.org/ko/docs/Web/%EC%B0%B8%EC%A1%B0/API