오늘은 스프레드 연산자와 비슷하게 생긴 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 메서드에 대해 포스팅해야겠다.
이만..총총
'STUDY > JavaScript' 카테고리의 다른 글
[javascript] 배열1 - 얕은 복사, 깊은 복사 (0) | 2022.12.29 |
---|---|
[javascript] 함수2 - 화살표 함수 (0) | 2022.12.17 |
[javascript] 함수1 - 함수 정의하기 (0) | 2022.12.14 |
[javascript] Set을 이용해서 중복 제거하기 (0) | 2022.01.06 |
[JavaScript] 객체 (0) | 2022.01.03 |
댓글