this -번외와 예외? 예?..

최문길·2023년 11월 4일
1

JavascriptES6

목록 보기
3/23

@Arrow Function은 this 값을 물려받는다

바깥에 있는 this 값을 내부에서 그대로 사용

this에 대해서 판단 할 때...

this 값을 판단 할 때
1. 가장 가까이(안과 밖)있는 함수를 체크하자.
2. this의 값은 누가 호출하는지
3. this를 담고 있는 함수(주인장)가 누구인지 판별하자.

Example

      var obj = {
        arr : ['김', '이', '박'];
        함수 : function(){
          // this에서 가장 가까운 함수는 누겨??
            obj.arr.forEach(function(){<- this의 가장 가까이 있는 함수임
                console.log(this)
            });
        }
    }
    
  

▶ forEach인 콜백함수가 가장 가까이 있잖슴 그러므로 window객체가 this여라

      var obj = {
        함수: function () {
          console.log(this);
        },
      };
	 // obj의메소드인 '함수'를 otherObj에 할당
      var otherObj = obj.함수;
      otherObj();// this는 무엇일까요?

▶ {window}객체 여라

Why
"3. this를 담고 있는 함수(주인장)가 누구인지 판별하자." 라는 위의 내용을 토대로
var otherObj는 일반 함수가 된다. 따라서...
일반 함수의 this,의 주인은 { window } 객체 이다.


0개의 댓글