codinghatso

함수 parameter 본문

WEB/JavaScript

함수 parameter

hatso 2022. 1. 13. 16:41

파라미터는 함수 정의 시점에 정의하는 변수로 함수가 넘겨받는 값 들을 담기 위한 함수 내부에서 사용하는 변수입니다.

인자는 실제 함수를 호출하는 시점에 함수 호출과 함께 함수로 넘어가는 값(들)입니다.

 

자바스크립트는 파라미터 개수와 인자 개수가 일치하지 않아도 에러가 발생하지 않습니다. 파라미터 개수보다 인자 개수가 많을 경우 파라미터 개수만큼만 값이 전달됩니다.

 

추가의 인자 값은 함수 내부의 독특한 객체인 "arguments"를 통해 접근이 가능합니다.

 

파라미터 개수보다 인자 개수가 적을 경우 남는 파라미터에는 "Undefined"가 전달됩니다.

이런 경우를 위해 기본 파라메터 값을 정해줌으로써 인자 값이 전달되지 않으면, 기본 값이 대신 사용되도록 해 에러 발생 가능성을 현저히 낮출 수 있습니다.

 

기본 파라미터(Default Parameter)

ES6에서 새롭게 추가된 기능으로 함수를 정의할 때 함수 파라미터의 기본 값을 설정할 수 있는 기능입니다.

ES6전에는 파라메터에 기본 값이 없었기 때문에, 해당 파라미터에 값이 넘어오지 않을 경우 파라미터 값이 "Undefined"가 되었습니다.

그대로 사용하면 오류가 발생

//Default Parameter 설정
function sum(a = 0, b = 2) {
  return a + b;
}
console.log(sum(4, 5));
console.log(sum(4));
console.log(sum());

파라메터에 기본 값을 지정해서 함수를 구현하면, 따로 체크하지 않아도 되기 때문에 에러가 없으면서도 최적화된 코드를 작성할 수 있습니다.

 

나머지 파라미터(Rest Parameter)

파라메터파라미터 개수를 가변으로 사용할 수 있도록 해주는 기능입니다. ES6에서 새로 추가된 기능으로 함수의 확장성을 높여주는 중요한 파라미터 기능입니다.

맨 마지막 파라메터에 점 3개 (...)를 표시하면 해당 파라미터가 나머지 파라미터가 됩니다.

 

arguments객체

함수 안에서만 기본으로 사용할 수 있는 자바스크립트의 독특한 객체입니다. 함수 런타임 시점에 자동으로 생성되는 객체이며, 함수 코드 및 파라미터와는 무관하게 자동 생성됩니다.

//arguments 객체 활용법 예시
function sum() {
  let result = 0;
  for (let i = 0; i < arguments.length; i++) {
    result += arguments[i];
  }
  return result;
}
console.log(sum(1, 2, 3, 4, 5, 6, 7, 8, 9));

'WEB > JavaScript' 카테고리의 다른 글

펼침 연산자 spread operator, 전개 구문  (0) 2022.01.13
커링(Curring) 함수 기초  (0) 2022.01.13
반복문 for, while  (0) 2022.01.11
NaN와 Infinity  (0) 2022.01.10
JavaScript에는 -0 이 존재한다?  (0) 2022.01.10
Comments