1. Javascript 에서 'this
다음은 dongle이라는 객체를 만든 것이다. 'dongle' 이라는 이름을 가진 사람이 어떤 평가를 받았는데 첫 번째 첨수를 10점, 두 번째 점수를 20점 받았고, 이 두 점수의 합계를 구하는 method를 정의한 것이다.
이 코드에서 두 점수의 합계를 출력하기 위해서 아래와 같은 코드를 통해 실행할 수 있다. dongle 이라는 객체에 있는 sum이라는 method를 불러오고, 그 객체 안의 인자를 불러와서 대입하는 식이다.
하지만 여기서, dongle 이라는 객체 안에 first와 second 값이 있다는 것을 알고 있는데, 굳이 dongle.first, dongle.second 두 번씩이나 언급할 필요가 있을까? 물론 두번정도는 괜찮을 수 있겠지만 평가 점수가 수백 개 수천 개라면 이야기가 달라질 것이다.
그러면 이제 인자를 생략하면서 객체의 sum method 코드를 수정하면 된다.
이것도 괜찮긴 하지만, 객체의 이름을 바꿨을 때를 생각해보자. 저 객체의 이름이 dongle 이 아니라 dongri 였는데, 실수로 dongle이라고 했다고 가정을 해보자. 그 경우에는 객체의 이름뿐만 아니라 sum method에 사용한 객체의 이름도 다시 바꾸어 주어야 하는 애로사항이 생긴다.
'2개 정도야 바꿀 수 있지' 라고 생각할 수 있지만, 수백수천 개가 있다면? 문제가 발생할 것이다. 이럴 때 사용하는 것이 'this'인데, this는 그 프로그램에서 자기 자신을 가리키는 대명사로서 역할을 한다.
결과적으로 sum이라는 method가 자신이 속해 있는 객체를 가리키게 되는 것이다.
이 'this'는 Javascript의 객체 지향에서 아주 중요한 개념이다.
'Tech > Javascript' 카테고리의 다른 글
[Javascript] prototype 프로토 타입 (0) | 2021.01.01 |
---|---|
[Javascript] constructor 생성자 함수 (0) | 2021.01.01 |
[Javascript] 객체의 기본 (0) | 2020.12.30 |
[Javascript]Javascript Immutability -2 (0) | 2020.12.27 |
[Javascript] Javascript immutability (0) | 2020.12.24 |