본문 바로가기

Frontend/JAVASCRIPT

[Javasvript] this는 가리킬뿐, this의 4가지 바인딩

반응형

this는 가리킬뿐.

 

this는 객체 생성시, 함수 생성시 자동으로 생성되는 변수같은 놈이다.(그렇다고 변수는 또 아니다...)

this는 객체를 "가리킬"뿐이다. (자.동.으로)

[Javascript] 값을 저장하는 방식, pass by value vs. pass by reference
1. 값을 저장하는 방식 자바스크립트뿐만 아니라 대부분의 프로그래밍 언어들은 값을 변수에 저장하는 방식이 크게 2가지가 있다. 1. 어떤 값을 메모리 공간에 직접 넣고 변수를 할당하는 방법 2. 어떤 값을 저장..
artdev.tistory.com

"가리키다" 라는것이 잘 이해가 되지 않는다면 이 글을 보고 이해하고 와야한다. (pass by reference 부분)

this는 우리가 강제로 다른것을 할당할수는 없다.

this가 가리키는 object에 method나 property를 할당해 줄수가 있다.

아래는 this 가 window라는 전역객체(global object)를 가리킬때 name이라는 property를 할당하였다.


this의 4가지 바인딩(binding)

바인딩은 자동으로 어떤 객체를 가리키는것이라고 생각하면 될것같다. ( 자동으로가 키포인트 )

  • 함수 내부에서 this -> window 객체 (전역객체) 

  • 클로저 내부에서의 this -> window 객체 (함수의 depth 가 깊어져도 전역객체를 가리키게 된다.)

  • 객체(리터럴) 내부 메서드 에서 this -> 해당 객체

  • 함수 생성자 내부에서 this -> 해당 인스턴스 객체



this는 가리킬뿐이다,

하지만 함수메소드를 이용하여 바인딩을 바꿀수가 있다.(응?)

cf. 다음 포스팅은 함수내부에서 this를 다른것으로 강제 바인딩시키는 것을 써야겠다. 

반응형