const test = {
a: function () {
console.log(this)
},
b: () => {
console.log(this)
}
}
// 메소드를 호출합니다.
test.a()
test.b()
객체 내에서 속성으로써 함수가 올 때, this 키워드가 뜻하는바가 많이 달라진다. 속성 a의 this는 test 객체 자체를 뜻하고,
속성b의 this는 여기서는 window 객체를 뜻한다. window객체는 쓸 필요가 별로 없는 것 같다. 객체의 속성으로 함수를 쓸때는, 축약형 화살표함수가 아니라 function(){} 형태의 온전한 형태로 사용한다.
메소드 호출결과, 콘솔창은 아래와 같이 된다.
'자바스크립트 리뷰' 카테고리의 다른 글
숫자 prototype에 메소드 추가하기 [혼공자 6-2-1] (0) | 2023.04.08 |
---|---|
객체 내부의 메소드를 실행하는 명령어 [혼공자 확인문제 6-1-4] (0) | 2023.04.08 |
동적으로 객체 속성 추가하기 / 제거하기 [혼공자 6-1-2 ~ 3] (0) | 2023.04.07 |
JSON.stringify() 메소드 [혼공자 6-2-3] (0) | 2023.04.07 |
객체에 함수를 속성으로 넣은 것을 메소드라고 부른다.[혼공자 6-1-1] (0) | 2023.04.07 |