본문 바로가기
JavaScript

this

by haheehee 2023. 8. 30.

this

  • 메서드와 this
    • 메서드 내부에서 this 키워드를 사용하면 객체에 접근할 수 있음
    • '점 앞’의 this는 객체를 나타냄
let user = { name: "John" };
let admin = { name: "Admin" };

function sayHi() {
  alert( this.name );
}

***// 별개의 객체에서 동일한 함수를 사용함
user.f = sayHi;
admin.f = sayHi;***

// 'this'는 '점(.) 앞의' 객체를 참조하기 때문에
// this 값이 달라짐
user.f(); // John  ***(this == user)***
admin.f(); // Admin  ***(this == admin)***

admin['f'](); // Admin (점과 대괄호는 동일하게 동작함)
  • 자유로운 this
    • 자바스크립트에선 모든 함수에 this를 사용할 수 있음
    • this 값은 런타임에 결정. 컨텍스트에 따라 달라짐
    • 동일한 함수라도 다른 객체에서 호출했다면 'this’가 참조하는 값이 달라짐

자바스크립트에서 this는 런타임에 결정됩니다. 메서드가 어디서 정의되었는지에 상관없이 this는 ‘점 앞의’ 객체가 무엇인가에 따라 ‘자유롭게’ 결정

메서드와 this

'JavaScript' 카테고리의 다른 글

.map(), .filter()  (0) 2023.08.31
유용한 사이트(비공개)  (0) 2022.12.22
Bootstrap 부트스트랩 사용해보기  (0) 2022.12.22
자바스크립트#09 : 클래스  (0) 2022.12.22
자바스크립트#08 : 예외 처리  (0) 2022.12.21

댓글