프론트엔드를 방금 배웠는데 React에서 이벤트 모니터링 작성법에 대해 궁금한 점이 있습니다.
제가 아는 작성법은 다음과 같습니다
생성자에 바인드 함수를 전달하세요
함수를 정의할 때 shear 함수 정의를 사용하세요
태그
제3의 글쓰기 방식이 이해가 안가네요
으아아아저는 개인적으로 화살표 함수와 바인드가 같은 것을 작성하는 방식이 달라야 한다고 생각합니다. 하지만 데모를 작성했어요
으아아아getName3, 4, 5에서 getName5가 반환하는 내용이 내부에 없나요? ?
화살표 기능과 바인드에 대한 저의 오해가 문제일까요?
선배님들의 지도를 받아보시길 바랍니다
phpcn_u15822017-05-19 10:33:08
5의 화살표 함수는 func를 호출할 때 this를 바인딩하지 않으므로 func의 this는 window를 가리킵니다
그냥 this로 변경하세요
또는 다음과 같이:
으아악曾经蜡笔没有小新2017-05-19 10:33:08
새로 정의된 함수에는 자체 this 값이 있습니다. 브라우저의 비엄격 모드에서는 this가 창을 가리킵니다. 함수가 객체 메서드로 호출되면 this는 호출된 객체를 가리킵니다. 예제에서는 getName5()
中的函数func
, 并非作为obj
개체 메서드가 호출되므로 this가 창을 가리킵니다. 화살표 기능과 관련이 없습니다.
为情所困2017-05-19 10:33:08
@Xeira 말이 맞습니다. 화살표 함수가 정의되면 어휘 범위 내의 이 함수는 외부 어휘 범위에 바인딩되는 반면 일반 함수는 호출해야 할 때 구체적으로 바인딩됩니다. 이에 대한 설명은 You-Dont-Know-JS에서 읽어보는 것이 좋습니다. 매우 명확합니다