함수의 호출(JavaScript)

서재환·2022년 2월 15일
0

JavaScript

목록 보기
18/25

함수의 호출편 (값호출, call, apply)

javascript 함수의 호출에는 3가지 방법으로 함수를 호출할 수 있다.

익명함수이자 함수가 식으로 표현될 때에는 세미콜론을 붙여야 한다. 값
으로 치환된다는 의미를 담고 있기 때문이다.
const myFn = function (... args) {
  let sum = 0;
  for (let i = 0; i < args.length; i++) {
    sum += args[i];
  }
  return sum;
};
const arr = [1, 2, 3]
myFn();
myFn.call(null, 1, 2, 3);
myFn.apply(null, arr);

call과 apply의 공통점과 차이점

call과 apply는 공통적으로 context라는 객체를 전달받는다. 현재 상황에서 다
루지는 않을 것이기 때문에 context 객체가 들어가는 포지션에 null을 넣는다.

그다음으로 call과 apply의 차이점이 현 사용방법에서 차이가 나는데 call의 경
우 매개인자로 전달한 값을 차례로 넣어주는데 반해 apply의 경우 배열안에 해당 자
료를 넣어서 전달해준다.

apply 메서드는 언제 사용할까?

const arr = [1, 2, 3]
myFn.apply(null, arr);
apply method의 경우 함수 호출 시 외부에서 필요한 데이터를 공급받아서 해당 함수
를 실행하고 싶을 때 해당 메서드가 유용하다. 지금은 문법적으로만 알아두자.

가변인자를 처리하는 함수 작성법

가변인자를 처리하는 함수 작성법의 경우 매개변수를 전달해 주는 부분에 ...을 적어
유사배열을 사용함으로써 해당 함수의 매개변수를 처리할 수 있게 한다. 그랬을 때 
사용자는 원하는 만큼의 매개변수를 넣음으로써 해당 함수를 편리하게 작성할 수 있다.
const myFn = function sums(...args) {
    let sum = 0;
    for(let i = 0; i < args.length; i++) {
      sum += args[i];
    return sum;
  }

myFn();

0개의 댓글