반응형
• 기본 매개변수
- 항상 같은 매개변수를 반복하는 경우 기본값을 지정하여 기본 매개변수를 사용
- 매개변수는 왼쪽부터 처리하므로 기본값을 사용하는 경우 후순위로 매개변수 나열
* 기본 문법
함수명(매개변수, 매개변수=기본값, 매개변수=기본값) {}
function func(b, a = 1) {
console.log(b, a);
}
func(5); // 5, 1
• 나머지 매개변수
: 매개변수의 개수가 가변일 경우 사용하는 문법
- 마침표 3개를 입력
- 매개변수들이 배열로 들어옴
* 기본 문법
function 함수(...나머지 매개변수) {}
function sample(...item) {
return item
}
console.log(sample(1, 2,3)) // [ 1, 2, 3 ]
• 나머지 매개변수와 일반 매개변수 조합
- 지원하지 않는 경우 arguments를 사용하여 구현
* 기본 문법
function 함수명(매개변수, 매개변수, ...나머지 매개변수) {}
function sam(a, b, ...c) {
console.log(a, b, c);
}
sam(1, 2, 3, 5, 4); // 1 2 [ 3, 5, 4 ]
// + 지원하지 않는 경우 arguments를 사용하여 함수 구현
function sam() {
for (let i = 0; i < arguments.length; i++) {
console.log(arguments[i]);
}
}
sam(1, 2, 3, 5, 4); // 1, 2, 3, 5, 4
• Sources
* 최솟값 구하기
function min(first, ...rests) {
let output, items;
if (Array.isArray(first)) { // 배열인지 확인
output = first[0];
items = first;
} else if (typeof first === 'number') {
output = first;
items = rests;
}
for (const item of items) {
if (output > item) {
output = item;
}
}
return output;
}
console.log(min(32, 43, 41, 35)); //32
console.log(min([32, 43], 41, 35)); //32
• 전개 연산자
: 배열을 전개해서 함수의 매개변수로 전달
- 배열 앞에 마침표 3개를 붙임
- 지원하지 않는 경우 apply() 사용
* 기본 문법
함수명(...배열)
function callA(...items) {
console.log(items);
}
const array = [1,2,3,4];
// 전개 연산자를 사용하지 않은 경우
callA(array) // [ [ 1, 2, 3, 4 ] ] - 배열 형태로 들어옴
// 전개 연산자를 사용한 경우
callA(...array) // [ 1, 2, 3, 4 ] - 숫자가 하나하나 들어옴
// + 지원하지 않는 경우 apply() 사용하여 함수 구현
function callA(...items) {
console.log(items);
}
const array = [1, 2, 3, 4];
console.log(callA.apply(null, array));
반응형
'JS > Javascript' 카테고리의 다른 글
[Javascript] 변수 (0) | 2023.02.04 |
---|---|
[함수] 함수의 기본 (0) | 2023.02.04 |
[Javascript] 매개변수(parameter)와 전달인자(argument) (0) | 2023.02.04 |
[Javascript] 함수의 종류 (0) | 2023.01.07 |
[Javascript] 반복문 (for, forEach, for...of, for...in ..) (0) | 2023.01.07 |