call 메소드는 모든 함수에서 사용할 수 있으며, this를 특정값으로 지정할 수 있다.
apply는 함수 매개변수를 처리하는 방법을 제외하면 call과 동일하다.
call은 일반적인 함수와 마찬가지로 매개변수를 직접 받지만, apply는 매개변수를 '배열'로 받는다.
보통 배열의 최댓값, 최솟값을 구할때 많이 사용한다.
const nums = [3, 10, 1, 4, 6]
const minNum = Math.min.apply(null, nums); // 1
// = Math.min.apply(null, [3, 10, 1, 4, 6])
const maxNum = Math.max.call(null, ...nums); // 10
// = Math.max.call(null, 3, 10, 1, 4, 6)
각각 call과 apply를 사용해보았다. 동작방식은 같고 매개변수를 받는 방법만 다르다. call은 순서대로, apply는 배열로 받는다.