함수의 파라미터 개수를 가변적으로 전달 받을 수 있는 기능을 수행할 수 있게 파라미터에 기능을 부여하는 것
function addAll(..a :number[]){
console.log(a)
}
addAll(1,2,3,4)
스프레드 연산자를 사용하면 배열,문자열,객체 등 반복 가능한 객체를 개별 요소로 분리할 수 있다. 즉, 자료들의 괄호를 벗겨준다
let arr = [3,4,5]
let arr2 = [1,2,...arr]
console.log(arr2) // [1,2,3,4,5]
Rest parameter : 함수 선언할 때 소괄호 안
Spread operator : array,object 자료 안
객체나 배열을 변수로 '분해'할 수 있게 해주는 문법, 함수의 매개변수가 많거나 매개변수 기본값이 필요한 경우 구조 분해를 자주 사용
//변수
let { student, age } = { student : true, age : 20 }
let [ a,b ] = ['Choi', 20]
//함수
let person = { student : true, age : 20 }
function User({student, age}){
console.log(student, age)
}
User({ student : true, age : 20 })
let person = {student : true, age : 20}
function User({student,age} : {student : boolean, age : number}){
console.log(student,age)
}
User({student : true, age : 20 )}