ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • This 판별하기
    Java Script 2021. 3. 26. 16:41

    This 는 공부해도 해도 헷갈린다...! 

    ㅋ님의 강의 + 책을 참고해서 공식을 적어보면 좀 덜 헷갈릴까....?

     

    This 는 함수가 호출되는 방식에 따라 참조하는 객체가 달라진다. 

     

     

    1. Regular Function call ( function (); )

    • Strict mode 가 아니면 -> 브라우저에서는 window, 런타임 환경에서는 global. 
    • Strict mode 라면 undefined.

    2. Dot notation ( something.function(); )

    • .function 앞의 객체로 찾아가서 참조. 

    3. Call / Apply / Bind

    • 위 세 가지는 this 에 사용가능한 메소드들이다. 
    • Call과 Apply는 둘 다 첫 번째 인자를 this 값으로 바인딩한다. 
      • function.call(somthing, 1, 2, 3);
        • function의 this를 something으로 정해주고, 나머지 인자들(1, 2, 3) 은 function에 전달해준다. 
      • function.apply(something, [1, 2, 3]);
        • function의 this를 something으로 정해주고, 그 뒤의 배열을 function에 전달해준다. 
    • Bind는 새로운 함수를 반환하며, 인자로 전달된 값을 this로 삼는다.
      • 다만 bind는 새로운 함수를 반환하기 때문에, 반환된 새로운 함수가 실행될 때까지 원본 함수가 실행되지 않는다!!!

    4. New 키워드

    • this의 값은 새로운 빈 객체가 된다.

     

     

     

     

    'Java Script' 카테고리의 다른 글

    커링_ Currying  (0) 2021.05.06
    Toy project - 카드맞추기 게임  (0) 2021.04.14
    Toy Project - 계산기  (0) 2021.04.14
    CSS property의 순서  (0) 2021.03.25
    innerHTML, textContent, innerText  (0) 2021.03.18

    댓글

Designed by Tistory.