JS : 5 - 1 - 2

김동현·2022년 11월 12일

javascript

목록 보기
12/33

나머지 매개 변수

호출할 때 매개변수의 개수가 고정적이지 않은 함수를 가변 매개변수 함수라고 부름
이러한 함수를 구현할 때는 나머지 매개변수라는 특이한 형태의 문법 사용

function 함수(...매개변수){
	console.log(매개변수)
}
  • 매개변수들이 배열로 들어옴

나머지 매개 변수를 사용하여 최소값 구하기

function min(...array){
	let output = array[0]
    
    for(const item of array){
    	if(output>item){
        	output = item
		}	
    }
    return output
}

const a = (142,25,235,243,11,245,1)
console.log(min(a))

출력 - 1로 나옴

일반적인 매개 변수와 나머지 매개 변수 조합

function 함수이름(매개변수, 매개변수, ...매개변수) {}

ex) 
function total(a,b,...c){
	console.log(a,b,c)
}

total(1) - 1, undefined, []
total(1,2) - 1, 2, []
total(1,2,3) - 1, 2, [3]

Array.isArray() : 배열인지 확인해주는 메소드 입니다.

전개 연산자

매개변수로 배열을 넣는 경우와 숫자를 넣는 경우가 있지만, 다른 사람들이 만든 함수도 모두 그럴것이라는 보장은 없습니다.

자바스크립트는 배열을 전개해서 함수의 매개변수로 전달해주는 전개 연산자를 제공

함수 이름(...배열)

ex)
function sample(...items){
	console.log(items)
}

const array = [1,2,3,4]

sample(array) -> 0인덱스에 1,2,3,4 출력됨

sample(...array) -> 0인덱스에 1 ... 3인덱스에 4가 출력됨

기본 매개변수

매개변수에 기본값을 지정해주는 것

함수 이름(매개변수, 매개변수 = 기본값, 매개변수 = 기본값)

function a(a=기본값,b) {} 매개변수는 왼쪽부터 입력해서

ex) 함수 이름 = earnings / 매개변수 : 이름(name) , 시급(wage) , 시간(hours)

function earnings(name,wage=8590,hours=40){
	console.log(`# ${name} 님의 급여 정보`)
    console.log(`- 시급 : ${wage}원`)
    console.log(`- 근무 시간 : ${hours}`)
    console.log(`- 급여 : ${wage*hours} `)
}

console.log('구름') - # 구름님의 급여 정보
				     - 시급 : 8590원
                     - 근무 시간 : 40시간
                     - 급여 : 343600원
                     
console.log('별',10000)  - # 구름님의 급여 정보
				        - 시급 : 10000원
                        - 근무 시간 : 40시간
                        - 급여 : 400000원

구버전 자바스크립트 가변 매개변수

구 버전 자바스크립트에세 가변 매개변수 함수를 구현할 때는 배열 내부에 사용할 수 있는
특수한 변수인 arguments활용

funcrion sample(){
	console.log(arguments)
    for(let i =0; i<arguments.length; i++){
    	console.log(`${i}번째 요소 : ${arguments[i]}`)
    }
}

sample(1,2)

출력
Arguments(2) [1,2, callee: f, Symbol(Symbol.iterator): f]
0번째 요소 : 1
1번째 요소 : 2

구 버전 자바스크립트에서 전개 연산자 구현하기

전개 연산자는 최신버전의 자바스크립트에 추가된 기능, apply()함수 사용

function sample(..items){
	console.log(items)
}

const array = [1,2,3,4]

console.log(sample.apply(null,array))

출력
[1,2,3,4]

구 버전 자바스크립트에서 기본 매개변수 구현하기

function earning (wage,hours){
	wage = typeof(wage) != undefined ? wage : 8590
}
// wage 라는 매개변수 = wage의 자료형에 데이터가 할당되었을 때 참일땐 wage를 거짓일때 8690 ??
profile
꺽이지 않는 마음

0개의 댓글