티스토리 뷰
Rest 파라미터
Rest 파라미터는 Spread 연산자(...)를 사용하여 함수의 파라미터로 작성된 형태이다. Rest 파라미터를 이용하면 데이터를 배열로 전달받을 수 있다. 자바에서 가변 인자와 유사한 방식이다.
function foo(...rest) {
console.log(Array.isArray(rest)); // true
console.log(rest); // [ 1, 2, 3, 4, 5 ]
}
foo(1, 2, 3, 4, 5);
한 가지 유의할 점은 Rest 파라미터는 항상 제일 마지막 파라미터로 있어야 한다는 것이다.
Spread 연산자
Spread 연산자는 연산자의 배열 또는 이터레이블(iterable)을 개별적으로 분리한다. 이터레이블은 iterator를 통해 next()로 순회가 가능한 구조를 말한다. Array, String, Map, Set, Dom 구조가 대표적이다.
// 배열
console.log(...[1, 2, 3]); // -> 1, 2, 3
// 문자열
console.log(...'Helllo'); // H e l l l o
Rest와 Spread 혼동
Rest는 함수 선언문의 파라미터에 Spread(...) 연산자를 이용해서 가변 인자를 통해 배열로 데이터를 전달받는 것이고, 함수 호출 문의 파라미터에 Spread(...) 연산자를 이용해서 호출하면 배열이 해당 매개변수로 각각 매핑되는 것은 다르다.
//Rest
function foo(param, ...rest) {
console.log(param); // 1
console.log(rest); // [ 2, 3 ]
}
foo(1, 2, 3);
//Spread
function bar(x, y, z) {
console.log(x); // 1
console.log(y); // 2
console.log(z); // 3
}
bar(...[1, 2, 3]);
'프로그래밍 > Front end' 카테고리의 다른 글
[Front end] React The href attribute requires a valid value to be accessible. Provide a valid, navigable address as the href value. (0) | 2020.03.08 |
---|---|
[Front end] JavaScript 이터레이블(iterable) for in, for of (0) | 2020.02.28 |
[Front end] jQuery 요소의 복사 clone (0) | 2020.02.25 |
[Front end] JavaScript 당장 사용해야 할 5가지 배열 메서드(Array) (0) | 2020.02.24 |
[Front end] jQuery 요소의 내부 변경 html, text (0) | 2020.02.20 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
링크
TAG
- 정렬 알고리즘
- React
- Maven
- 자바스크립트
- Collection
- 자바
- 이직
- 프로그래머스
- Eclipse
- 리액트 16
- 오라클 내장 함수
- spring
- 오라클
- 제주도 3박4일 일정
- 회고
- effective java
- sort algorithm
- javascript
- 제주도 여행
- 프로그래머
- Linux 명령어
- 성능분석
- 리눅스 명령어
- 소프트웨어공학
- 리액트
- SQL
- 개발환경
- Tomcat
- 경력관리
- Java
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함