본문 바로가기
  • coingcoing
STUDY/JavaScript

[javascript] 함수3 - Rest 연산자

by 킵코 2022. 12. 20.

화이팅해라

 

 

오늘은 스프레드 연산자와 비슷하게 생긴 Rest 연산자를 알아보자.

Rest연산자는 함수가 얻는 모든 인수를 배열에 합쳐준다. 그래서 함수를 생성할 때 파라미터가 몇개나 들어올지

모르는 상황에서 유용하다. 

 

const fun =(...rest)=> {
	return rest
}

const result = fun(1,2,3,4,5)

console.log(result) // [1,2,3,4,5]

 

Rest 연산자를 함수 매개변수에 사용할 때 주의해야 할 점은 다른 매개변수가 있을 경우 맨 뒤에 적어줘야 한다.

Rest 연산자를 앞에 적어줄 경우 에러가 발생한다. 

 

const fun = (num1, num2, ...rest) => { // 순서가 중요
	...
}

 

 

또 하나는 Rest 연산자는 하나만 존재할 수 있다는 점이다. 매개변수 안에 Rest 연산자를 두번 넣으면 앞에 사용한 Rest 연산자가 

모든 매개변수를 합치기 때문에 뒤에 적은 Rest 연산자를 실행되지 않는다.

 

 

const fun = (...rest1, ...rest2) { // rest2는 실행되는 않는다.
	...
}

 

 

Rest 연산자는 객체, 배열에서도 사용이 가능하다.

 

// 배열에서 Rest

const number = [1, 2, 3, 4, 5]

const [num1, ...numbers] = number

console.log(num1) // 1
console.log(numbers) // [2, 3, 4, 5]

// 객체에서 Rest

const students = {
	name: "Jun",
    age: 17,
    number: 6
}

const {name, ...rest} = students

console.log(name) // Jun
console.log(rest) // {age:17, number:6}

 

 

다음에는 함수 bind 메서드에 대해 포스팅해야겠다.

이만..총총

 

이제 잘시간

 

댓글