method: 객체 프로퍼티로 할당된 함수
const student = {
name: ‘angel’,
id: 1004,
study: function() {
console.log(‘공부해야지.’);
}
}
student.study() //“공부해야지.” 출력
→ study: function() {…}을 study() {…}로 줄여서 작성할 수 있음
study 메소드 안에 있는 로그에 객체의 name 프로퍼티를 넣으려면 어떻게 해야 할까?
const student = {
name: ‘angel’,
id: 1004,
study() {
console.log(`${this.name}아 공부해야지.`);
}
}
※ method에서 객체의 프로퍼티에 접근할 때, 객체의 이름으로 직접 접근하기보다 this를 사용하여 접근하는 것이 좋다.
※ 화살표 함수는 일반 함수와는 달리 자신만의 this를 가지지 않음
화살표 함수 내부에서 this를 사용하면, 그 this는 외부에서 값을 가져옴
ex)
const student = {
name: ‘angel’,
sayHello: () => {
console.log(this); //전역객체
}
}
전역객체는
- 브라우저 환경에서는 window
- NodeJs 환경에서는 global
※ 따라서 method에서 this를 사용하여 객체의 프로퍼티에 접근할 때에는 화살표 함수는 이용하지 않는 것이 좋다.
↓[코딩앙마] 자바스크립트 기초 강좌 링크
https://www.youtube.com/watch?v=ZXQA4gRHqe0
'Study > JavaScript' 카테고리의 다른 글
[JavaScript] 중급 #1 - 변수, 호이스팅, TDZ(Temporal Dead Zone) (0) | 2021.09.05 |
---|---|
[JavaScript] 기초 #14 - 배열(Array) (0) | 2021.09.03 |
[JavaScript] 기초 #12 - 객체(Object) (0) | 2021.09.03 |
[JavaScript] 기초 #11 - 함수 표현식, 화살표 함수(arrow function) (0) | 2021.09.03 |
[JavaScript] 기초 #10 - 함수(function)의 기초 (0) | 2021.09.03 |