IM-Course 4일차. 오늘은 Spread,Rest와 구조분해(Destructing)에 대해 배웠다.
각 기능의 사용법을 정리하고자 한다.
Spread 문법은 주로 배열을 풀어서 인자로 전달하거나, 배열을 풀어서 각각의 요소로 넣을 때에 사용한다.
function sum(x, y, z) { return x + y + z; } const numbers = [1, 2, 3]; sum(...numbers) // 1,2,3 이 차례대로 들어간다.
파라미터를 배열의 형태로 받아올 때 사용한다. 파라미터 개수가 몇개인지 모를때 유용하게 사용할 수 있다.
function sum(...theArgs) { return theArgs.reduce((previous, current) => { return previous + current; }); } sum(1,2,3) // 몇개의 수가 들어오든 한개씩 들어가서 작동하게 된다.
구조분해는 구조분해 할당이라고 부르는데 Spread 문법을 이용해 값을 분해하고 개별적인 값을 변수에 새로 할당하는 것을 말한다.
[a,b,...rest] = [1,2,3,4,5,6]; // a = 1, b = 2, rest = [3,4,5,6]
위와같이 나머지 값들이 rest에 배열형태로 저장되는 것을 볼 수 있다. 이는 객체에서도 마찬가지로 동작한다.
{a, b, ...rest} = {a: 1, b: 2, c: 3, d: 4, e: 5} // a: 1, b: 2, rest = {c: 3, d: 4, e: 5}
이런식으로 객체에도 사용 할 수 있다.
다양한 활용이 가능해 코드를 좀 더 효율적으로 짤 수 있는 것이 위와 같은 문법들의 큰 장점인 것 같다.