[ES6+] Rest parameters
in JavaScript
parameter란 다들 알다시피 매개변수로,
함수에게 전달하는 인자들을 말한다
그렇다면 rest parameter는 뭘까
spread는 값을 전개했다면, rest는 축소시키는 거라고 생각하면된다
(끝도없는 파라미터를 받는 함수를 만들어보자….말만들어도 무섭)
const infiniteArgs = () => console.log()
infiniteArgs("1",2,3,4,5,6,6,7,8,9,10,"33");
이렇게 있다고 해보자
여튼 저렇게 끝도없이… 있다고… 해보자….
우리회사 파라미터 45개…^^….정리하느라 눈알빠질거같은데 이거쓰면 잘 관리할수있는것인가 두둥
디스트럭쳐링에서 배웠듯이
const infiniteArgs = ({first,second...}) => console.log()
이런식으로 써줄수있는데 무한대로 써줄수가 없잖슴?
그러니 이때 ...
을 써주는것!
그리고 원하는 이름 아무거나 적어주기! 난 cookie로 씀
const infiniteArgs = (...cookie) => console.log(cookie)
여기서 (...cookie)
부분이 rest 구문이다.
축소시켜 주는것.
cookie라고 불리는 변수에 값을 다 넣어버리자는 뜻
자 예를 들어 하나만 지정하고 나머지는 묶어서 덩어리로 처리하고 싶다면?
const bestFriends = (firstOne, ...rest) => {
console.log(`my best friend is ${firstOne}`);
console.log(rest);
//my best friend is sora
//["kat","alex","meg"]
}
bestFriends("sora","kat","alex","meg");
+) 아 그리고 rest는 값을 배열로 만들어준다!
노마드코더의 ‘ES6의 정석’을 듣고 정리 =)