ERROR!!!!!!!

자바스크립트를 이용한 페이징 삽질 - 일반 함수의 this와 화살표 함수의 this는 다르다

voider 2020. 9. 13. 01:26

JS 삽질기

js에 미숙하다 보니까 별것 아닌데 몇 시간을 삽질했다.
나는 여기서 a태그의 href속성을 받아오려고 했다.

모던 자바스크립트를 써보겠다고 화살표 함수를 고집했다.
자꾸 this값이 오지 않았다. 화살표 함수 때문일 것이라고는 1도 생각 못하고 계속 딴짓만 했다.

원하는 결과는 페이지 넘버 3페이지면 3. 5페이지면 5였는데, 자꾸 이런 결과만 나왔다. 속성을 뒤져봐도 내가 원하는 값을 가진 프로퍼티는 없었다. 도대체 뭘까? 별 걸 다 해봤는데. 그러니까 $(document).ready(() => {....})로 선언했던 것을 $(document).ready(function() {....})로 다시 바꿔도 보고. 그러면서도 화살표 함수를 바꿀 생각을 왜 하지 못했는지 모르겠다. 난 표현식만 다를 뿐 똑같다고 생각했다.

😲

this를 사용하고 싶다면 화살표 함수가 아니라, 일반 함수를 써야 하는 것이다.

이렇게 수정했을 때 문제 없이 원하는 값을 얻을 수 있었다.