JavaScript apply 함수의 호출

Develop My Life·2020년 4월 18일
0

JavaScript

목록 보기
10/15

JavaScript에서의 함수

  1. JavaScript에서는 함수를 객체라고 할 수 있다.
  2. 객체 안에 함수가 들어갈 수 있다.
  3. 객체 안에 있는 함수를 메소드라고 한다.
  4. apply를 활용하면 a객체에 안에 b함수가 없더라고 a객체 안에 b함수가 있어서 메소드로써 b함수를 이용하는 형태로 만들 수 있다.
<!DOCTYPE html>
<html>
<head>
	<title></title>
</head>
<body>
<script type="text/javascript">
	object_1 = {v1 : 4, v2 : 5, v3 : 6};
	object_2 = {a1 : 7, a2 : 8, a3 : 10, v4 : 9};
	function sum(){
		var sum_result = 0;
		for(index in this){ //this는 인수로 들어온 객체의 index를 가리킨다.
			sum_result += this[index];
		}
		return sum_result;
	}
	alert(sum.apply(object_1)); //object_1.sum()과 같은 기능
	alert(sum.apply(object_2)); //object_2.sum()과 같은 기능
	//이러한 기능을 사용하는 이유는 인수의 개수를 알 수 없을 때 this를 사용하여 함수를 정의하고 apply를 통해서 객체를 인수로 입력하여 함수를 실행하게 한다.
</script>
</body>
</html>
  • 이러한 기능을 사용하는 이유는 인수의 개수를 알 수 없을 때 this를 사용하여 함수를 정의하고 apply를 통해서 객체를 인수로 입력하여 함수를 실행하게 한다.

  • 함수.apply(객체)가 마치 객체.함수( )의 형태로 쓰이는 것이다.

  • 함수 안에는 this가 필수적으로 들어가야한다.

apply의 효용

인수의 개수를 알지 못할 때 arguments를 이용하여 함수를 구성할 수 있었다.
apply와 this를 활용해도 인수의 개수를 알지 못할 때 활용할 수 있다.

arguments를 사용할 때는 유사 배열의 개념이어서 배열의 개념으로 사용했지만
apply와 this를 사용할 때는 인수로 객체가 들어올 때 사용할 수 있다.

0개의 댓글