답변 1
5
숫자가 나열된 객체 안에 함수를 더한 값을 구하는 함수를 호출하여 변수 sum 에 담으려 하면 객체를 더해 나가다가 함수 까지 더하려는 오류가 발생합니다. 하여 부득불 typeof를 이용하여 함수가 아닌 경우만 더하라는 소스를 첨가하게 되는데, apply 를 이용하면 01 / 02 라는 객체에 sum라는 함수 호출을 추가할 필요가 없고, 순순하게 더하려는 값의 목록만 남겨도 되는 것입니다.
즉 sum.apply(01) 은 01이라는 객체에 담겨진 내용을 모두 더하라는 뜻이 됩니다. sum(1,2)이렇게 하면 두 값은 더해 지겠지만 더하려는 값이 배열로 엄청 많은 경우 배열을 따로 정의해 불러오고, sum 안에 인자 값이 아닌 따로 보관한 배열 혹은 객체의 값을 더할 수 있게 호출하는 방법이 apply을 이용하는 방법 입니다.