rest 문법 사용
function firstWords(...words) {
let word = '';
for(const el of words) {
word = word + el[0];
}
console.log(word);
}
firstWords('나만', '없어', '고양이');
firstWords('아니', '바나나말고', '라면먹어');
firstWords('만두', '반으로', '잘라먹네', '부지런하다');
firstWords('결국', '자바스크립트가', '해피한', '지름길');
firstWords('빨간색', '주황색', '노란색', '초록색', '파란색', '남색', '보라색');
- rest 문법을 사용해서 아규먼트로 오는 모든 문자열을 배열에 담아서 함수의 파라미터로 전달될 수 있도록 한다.
rest
와 spread
차이 구분
rest
는 합치고 spread
는 펼치고
- 빈 문자열을 변수에 할당해주고
for ... of ...
문법을 사용해서 각 요소의 첫번째 글자를 빈 문자열에 저장해준다.
- 마지막으로 최종 결과물을 출력해주면 끝!
arguments 사용
function firstWords() {
let word = '';
for(const arg of arguments) {
word = word + arg[0];
}
console.log(word);
}
firstWords('나만', '없어', '고양이');
firstWords('아니', '바나나말고', '라면먹어');
firstWords('만두', '반으로', '잘라먹네', '부지런하다');
firstWords('결국', '자바스크립트가', '해피한', '지름길');
firstWords('빨간색', '주황색', '노란색', '초록색', '파란색', '남색', '보라색');
- 함수를 호출할 때 전달되는 아규먼트의 개수가 불규칙적일때
arguments
객체를 유사 배열의 형태로 사용할 수 있다.
arguments
객체는 일반 함수에만 존재한다. / 화살표함수에서는 없음 /