본문 바로가기
Language/JavaScript

[JavaScript] 함수 - 매개변수와 인수

by jsh5408 2021. 10. 28.

매개변수(parameter)

- 함수 정의 시, 매개변수의 타입 명시 X

- 함수 호출 시, 인수에 대한 타입 검사도 X

- 함수의 정의보다 적은 수의 인수가 전달되어도 오류 X => 자동으로 undefined 설정

매개변수(parameter) : 함수 정의에서 전달받은 인수를 함수 내부로 전달하기 위해 사용하는 변수
인수(argument) : 함수 호출 시, 함수로 전달해주는 값
function addNum(x, y, z) {
	return x + y + z;
}

addNum(1, 2, 3);	// 1+2+3 = 6
addNum(1, 2);		// 1+2+undefined = NaN
addNum(1);		// 1+undefined+undefined = NaN
addNum();		// undefined+undefined+undefined = NaN

 - x, y, z 가 undefined 일 경우의 조건문을 이용하면 계산 가능

 

 

arguments 객체

- 함수 정의보다 더 많은 수의 인수가 전달되었을 때 유용

- 인수의 총 개수를 확인 & 각 인수에 바로 접근 O

- 함수 호출 시, 전달된 인수를 배열의 형태로 저장

function addNum() {
	let sum = 0;
	for (let i = 0; i < arguments.length; i++) {
		sum += arguments[i];
	}
	return sum;
}

addNum(1, 2, 3);	// 1+2+3 = 6
addNum(1, 2);		// 1+2 = 3
addNum(1);		// 1
addNum();		// 0
addNum(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);	// 55

- Array 객체와 비슷할 뿐 실제로 같지는 X

- 인덱스 이용 + length 프로퍼티 이용만 가능

 

 

디폴트 매개변수(default parameter)

- ES6 부터 정의된 매개변수

- 함수 호출 시, 인수를 전달하지 않았을 경우 사용하게 될 기본값

- 원래는 undefined

function mul(a, b = 1) {
	return a * b;
}
mul(3, 4);	// 12
mul(3);		//3

- IE, 사파리, 오페라에서 지원 X

 

 

나머지 매개변수(rest parameter)

- ES6 부터 정의된 매개변수

- 생략 접두사(...)를 이용해 특정 위치의 인수부터 마지막 인수까지 한 번에 지정

function sub(firstNum, ...restArgs) {
	for (let i = 0; i < restArgs.length; i++) {
		firstNum -= restArgs[i];
	}
	return firstNum;
}
sub(10, 2, 3);		// 10 - 2 - 3 = 5
sub(10, 1, 5, 8);	// 10 - 1 - 5 - 8 = -4

- IE, 사파리에서 지원 X

 

 

 

 

 

http://tcpschool.com/javascript/js_function_parameterArgument

 

코딩교육 티씨피스쿨

4차산업혁명, 코딩교육, 소프트웨어교육, 코딩기초, SW코딩, 기초코딩부터 자바 파이썬 등

tcpschool.com

 

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

[JavaScript] 객체  (0) 2021.10.29
[JavaScript] 함수 - 미리 정의된 전역 함수  (0) 2021.10.28
[JavaScript] 함수 - 변수/함수의 유효 범위  (0) 2021.10.28
[JavaScript] 함수의 기초  (0) 2021.10.24
[JavaScript] 배열  (0) 2021.10.24

댓글