function 함수(매개변수){
let output = 초깃값;
처리내용
return output
}
형태를 이용해서 많이 사용
//a부터 b까지 더하는 함수
function sumAll(a, b){
let output = 0;
for (let index = a ; index <= b; index++){
output += index;
}
return output;
}
console.log(`1부터 100까지의 합 ${sumAll(1,100)}`);
//a부터 b까지 곱하는 함수
function sumAll1(a, b){
let output = 1;
for (let index = a ; index <= b; index++){
output *= index;
}
return output;
}
console.log(`1부터 15까지의 곱 ${sumAll(1,15)}`);
곱하는 함수의 초기값은 0으로하면 결과도 0으로 나오니 주의
//최소값 구하는 함수
function min(array){
let output = array[0];
//output보다 작은 item이 있다면
for(const item of array){
if(output > item){
//output의 값을 item으로 변경
output = item
}
}
return output;
}
const testArray = [52, 273, 32, 103, 275, 24, 57];
console.log(`${testArray} 중에서 최솟값 = ${min(testArray)}`);
//최대값 구하는 함수
function max(array){
let output = array[0];
//output보다 큰 item이 있다면
for(const item of array){
if(output < item){
output = item
};
}
return output;
}
const testArrayMax = [52, 273, 32, 103, 275, 24, 57];
console.log(`${testArray} 중에서 최대값 = ${max(testArray)}`);
가변 매개변수 함수 : 호출할 때 매개변수의 개수가 고정적이지 않은 함수
나머지 매개변수
- 자스에서 가변항함수를 표현할 때 사용. 나머지 매개변수 구문을 사용하면 함수가 정해지지 않은 수의 매개변수를 배열로 받을 수 있다.
- ... 마침표3개를 입력하여 매개변수들이 배열로 들어오게 한다.
//나머지 매개변수
function func(...items){
console.log(items);
}
func(1,2);
func(1,2,3);
func(1,2,3,4);
//나머지 매개변수들의 합 출력
function sum(...theArgs){
let total = 0;
for( const arg of theArgs){
total += arg;
}
return total;
}
console.log(sum(1,2,3));
console.log(sum(1,2,3,4));
//마지막 매개변수만 나머지 매개변수로 설정하기
function myFun(a,b, ...manyMoreArgs){
console.log("a", a);
console.log("b", b);
console.log("manyMoreArgs", manyMoreArgs);
}
myFun("one", "two", "three", "four", "five", "six");
주의사항
- 함수 정의에는 하나의 나머지 매개변수만 존재할 수 있다.
//...args, ...moreArgs 불가
- 나머지 매개변수는 반드시 함수 정의의 마지막 매개변수여야 한다.
// ...manyMoreArgs,a,b 불가
//나머지 매개변수
function func(...items){
console.log(items);
}
func(1,2);
func(1,2,3);
func(1,2,3,4);
//나머지 매개변수들의 합 출력
function sum(...theArgs){
let total = 0;
for( const arg of theArgs){
total += arg;
}
return total;
}
console.log(sum(1,2,3));
console.log(sum(1,2,3,4));
//마지막 매개변수만 나머지 매개변수로 설정하기
function myFun(a,b, ...manyMoreArgs){
console.log("a", a);
console.log("b", b);
console.log("manyMoreArgs", manyMoreArgs);
}
myFun("one", "two", "three", "four", "five", "six");
//나머지 매개변수와 arguments 객체 차이
function sortRestArgs(...theArgs){
let sortRestArgs = theArgs.sort();
return sortRestArgs;
}
console.log(sortRestArgs(5,3,7,1));
function sortArguments(){
let sortedArgs = arguments.sort();
return sortedArgs;
}
//TypeError: arguments.sort is not a function 발생
console.log(sortArguments(5,3,7,1));
//argument 객체에 Array 메서드를 사용하려면 우선 arguments객체를 배열로 변환해야함
function sortArguments(){
let args = Array.from(arguments);
let sortedArgs = args.sort();
return sortedArgs;
}
console.log(sortArguments(5,3,7,1));
참고 :
- 혼자 공부하는 자바스크립트, 한빛미디어
- https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Functions/rest_parameters
반응형
'개발 > Javascript' 카테고리의 다른 글
[React] 최적화 마지막 (0) | 2022.07.20 |
---|---|
[React] 최적화3 - 컴포넌트 최적화 (0) | 2022.07.19 |
[React] 최적화2 - 컴포넌트 재사용 (0) | 2022.07.14 |
[React] 최적화 - 연산 결과 재사용 (0) | 2022.07.13 |
[React] React Developer Tools (0) | 2022.07.12 |