반응형
함수에 접근하는 방법 2가지 - 1, argument , 2 나머지 매개변수
1. argument (인수) : 함수를 호출할 때 이때 사용하게 되는 일련의 값
- 함수로 넘어온 모든 인수에 접근
- 함수 내에서 이용가능한 지역 변수
- index/length, array형대의 객체
- 단 배열 내장 메서드 없음(forEach, map)
function showName(name){
console.log(arguments.length);// 2
console.log(arguments[0]);// mike
console.log(arguments[1]);//mtom
}
showName('mike','mtom')
2, 나머지 매개 변수 : 함수가 정해지지 않은 수의 매개변수를 배열로 받는다. - 쉽게 말해서 배열을 압축해 준다.
- ... 매개변수 자료형 은배열이다.
- 일반적인 매개변수 값을 넣지 않으면 undefined 나온다.
- ... 매개변수는 마지막에 넣어줘야 한다.-( const sum1 = function(... 매개변수, a, b){ } 잘못된 예 )
- 이렇게 되면 문법 오류(Syntax Error)가 뜬다.
const sum = function(... 매개변수){// 일반적인 매개변수랑 함께 사용 가능 , 인수 갯수의 제한이 없다.
console.log(매개변수);
}
sum();
sum(1);//결과: [1]
sum(1,2);//[1,2]
sum(1,2,3);//[1,2,3]
sum(1,2,3,4);//[1,2,3,4]
지금은 argument 보다는 나머지 매개변수를 사용하는 게 훨씬 더 좋다.!!!
전개 구문(Spred Syntax) : 배열 - 쉽게 말해서 배열을 펼치다.
const InArray = function(a,b,c){
console.log(a,b,c);
}
const a = [1,2,3];
InArray(a[0],a[1],a[2]);// 1 2 3
InArray(...a);// 1 2 3
이렇게 일일 a [0], a [1]을 해서 값을 출력하는 것보다... a를 쓰면 편리하다.
// EX min이라는 함수를 만들때
//일반적인 함수 만들때
const min =function(배열){
let output =배열[0];
for(const value of 배열){
if(output> value){
output=value;
}
}
return output
}
console.log(min([52,273,32,103, 275,24,57]));
// 나머지 매개변수 와 전개 연산자를 사용해서 함수 구현
const min1 =function(...배열){
let output =배열[0];
for(const value of 배열){
if(output> value){
output=value;
}
}
return output
}
//만약에 배열 형식
// const b = [52,273,32,103, 275,24,57]
// console.log(min(...b))
console.log(min1(52,273,32,103, 275,24,57));// 배열이 아닌 (요소)를 넣어서 출력 해야한다
이렇게 나머지 매개변수, 전개 연산 자을 지금 알아야 하는 이유 : api를 조금 더 설계를 잘하기 위해서 이다.
https://www.youtube.com/watch?v=TrRPLL2sOmQ&t=1s
반응형
'Web > Javascript' 카테고리의 다른 글
이벤트( Event) ? (2) | 2024.08.08 |
---|---|
객체(Object)란 무엇인가??? (0) | 2024.08.07 |
콜백 함수 (0) | 2024.08.06 |
삼항 연산자 (0) | 2024.08.05 |
원시형 자료형 , 참조형 자료형 (0) | 2024.07.31 |