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는 ‘점 앞의’ 객체가 무엇인가에 따라 ‘자유롭게’ 결정
'JavaScript' 카테고리의 다른 글
[JavaScript] .map(), .filter() (0) | 2023.08.31 |
---|---|
[JavaScript] 유용한 사이트(비공개) (0) | 2022.12.22 |
[JavaScript] Bootstrap 부트스트랩 사용해보기 (0) | 2022.12.22 |
자바스크립트#09 : 클래스 (0) | 2022.12.22 |
자바스크립트#08 : 예외 처리 (0) | 2022.12.21 |
댓글