포인트
This의 사용
- 객체의 소속인 메소드의 this는 그 객체를 가르킨다.
- 아무것도 없을 경우는 window객체
Bind
- bind는 어떤 객체에 종속되어 있는 함수의 this의 문맥을 명시적으로 변경시키기 위해서 사용한다.
Apply
- apply는 일시적으로 어떠한 함수를 다른 객체에서 사용할 수 있도록 하기 위해서 사용한다.
Real code
This 예제
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| const userDB = { findUser: function(id,password){ if (!this.allUsers[id] || this.allUsers[id]['password'] != password) { return false } else { return true } }, allUsers: { admin: { password: '123' }, nersery: { password: '123123' }, lionking: { password: '123' } }
|
Bind예제
React Native 공부기1 ~ bind 편 참조
Apply예제
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| var o = {} var p = {} function func(){ switch(this){ case o: document.write('o<br />'); break; case p: document.write('p<br />'); break; case window: document.write('window<br />'); break; } } func(); func.apply(o); func.apply(p);
|
참조