[ES6+] Rest parameters



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의 정석’을 듣고 정리 =)




© 2018. by sora

Powered by sora