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 

 

+ Recent posts