어제 못다한 3주차의 this 에 대해 알아보자 .
this는 꽤 악명이 높기 때문에 시작부터 긴장이...
기억해야할 것은
1. 전역 공간에서의 this 는 객체를 가리킨다.
2. 메서드로서 호출할 때 는 해당 메서드를 호출한 객체를 지정한다.
3. 몇가지 방법으로 this 를 임의로 지정 객체에 binding 할 수 있다.
아무도 안 쓸거 같은 방법이라고 생각이 되어지는데..
화살표 함수는 정말 중요한 부분이라고 생각한다.
일반 함수처럼 func() 로 호출하여도 func 가 () => {} 화살표 함수로 선언이 되어있다면,
상위 객체를 정상적으로 지정하게 된다.
콜백 함수도 우선 함수이기 때문에, 기본적으로 this 는 전역객체를 가리킨다.
우리는 명시적 this 바인딩을 통해, this 가 특정한 객체를 바라보게 하는 법을 알아햐 한다 !
call 과 apply 메서드는 거의 비슷한 메서드 이다.
기본적으로 실행 명령이고,
func.call( { x : 1 } , 4, 5, 6 } ;
의 형태로, 첫 번째 인자로 binding 대상을 지정하게 된다
obj.method.apply({ a: 4 }, [5, 6]); .
apply 도 동일하지만, 나머지 인자를 배열로 넘겨주게 된다.
대놓고 이름부터 bind 인 메서드도 있다.
이미 fucn 함수에 특정한 값을 bind 한것 자체를 변수명로 만드는 것이다.
중요한건, 실행하는 메서드가 아니라 bind 값을 저장해놓는 용도이기에 위에 call apply 와 차별점이 있다.
미리미리 필요한 정보를 바인드 해놓고 대시키실 수가 있는것이다.
결국 화살표 함수를 쓰면 상위 객체를 가리키기 때문에
화살표 함수를 쓰면 거의 대부분의 상황에서는 의도에 맞게 this 를 사용할 수 있다.
쓰다가 한 번 본문이 날아가 버렸다 !!!
내용이 뭔가 허 해진것 같은 느낌같은 느낌이 들지만..
(왜 인지 ...페이지가 다운된 뒤에 최근 작성한 글 이어쓰기가 안되었다.)
어차피 한번 강의에 모든 this 를 통달하는것을 불가능 하기 때문에,
이론 위주로 학습을 하였고 다소 암기가 필요한 부분은 본문에 정리를 해 둔.. (것이 날라감)
필요할 때 3주차 부분을 다시 들어야 겠다는 생각이 든다.
this 가 계속해서 날 괴롭힐테니 말이다
'내일배움캠프' 카테고리의 다른 글
[내일배움캠프] 24.08.20 TIL (0) | 2024.08.20 |
---|---|
[내일배움캠프] 24.08.19 TIL (0) | 2024.08.19 |
[내일배움캠프] 24.08.14 TIL (0) | 2024.08.14 |
[내일배움캠프] 24.08.13 TIL (0) | 2024.08.13 |
[내일배움캠프] 24.08.12 TIL (0) | 2024.08.12 |