디폴트 파라미터
function 더하기(a, b = 10) {
console.log(a + b);
}
더하기(1);
function 더하기2(a, b = 2 * 5) {
console.log(a + b);
}
더하기2(1);
function 더하기3(a, b = 2 * a) {
console.log(a + b);
}
더하기3(1);
function 임시함수() {
return 10;
}
function 더하기4(a, b = 임시함수()) {
console.log(a + b);
}
더하기4(1);
arguments
function 함수3(a, b, c) {
// 파라미터
console.log(arguments); //argument
console.log(arguments[0]);
console.log(arguments[1]);
}
//함수3(1, 2, 3);
function 반복함수(a, b, c) {
for (let i = 0; i < arguments.length; i++) {
console.log(arguments[i]);
}
}
반복함수(2, 3, 4);
rest 함수
function 레스트함수(...파리미터들) {
// rest 파라미터 : 이 자리에 오는 모든 파라미터를 [] 에 보관해줌
console.log(파리미터들);
}
레스트함수(11, 22, 33, 44, 55);
// arguments 와 차이점1 arguments 는 모든 파라미터들.
function 레스트함수2(a, b, ...파리미터들) {
// 이런식으로 [] 로 묶을 걸 구분지을 수 있음
console.log(파리미터들);
}
레스트함수2(11, 22, 33, 44, 55);
// arguments 와 차이점2 arguments 는 파라미터 몇개들어갈지를 미리 정해야함
//반면 rest 는 관계없음.
function 슈퍼레스트(...rest) {
for (let i = 0; i < rest.length; i++) {
console.log(rest[i]);
}
}
슈퍼레스트(71, 72, 73, 74, 75);
// rest 의 주의점. function 잘못레스트(...rest, a) 1. rest는 항상 뒤에 쓰여져야함.
// function 잘못레스트(a, ...rest, ...rest) 한번만 쓸수있다.