[Javascript] 객체에 함수 추가

Hyejin·2023년 4월 12일
0

Segments

목록 보기
1/2

✅ 임의의 객체에 함수 생성하여 추가하기
✅ 단, 객체 내부가 아닌 외부에서 생성할 것
함수 생성 시, 일반함수와 화살표함수에 따라 참조하는 this의 값이 달라진다.

let obj = {
	data: [1,2,3,4,5]
}

// 외부에서 함수 생성
// 객체 안 data의 값을 모두 더한 값 console 출력
obj.addItem = function(){
	let sum = 0;
  	this.data.forEach(function(item){
    	sum += item;
    })
	console.log(sum);
}

obj.addItem(); // 15

forEach() 내부 함수를 일반함수가 아닌 화살표 함수로 변경해도 결과값은 동일
하지만, 맨 처음 addItem 함수를 생성하기 위해서는 꼭 일반함수를 사용해야 this.data를 참조할 수 있다. 만약 화살표 함수를 사용한다면, Window객체를 참조하여 this.data는 undefined를 반환한다.

0개의 댓글