Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- NonNullable
- reactjs
- returnType
- 제네릭
- React Native
- 타입좁히기
- click and drag
- 성능최적화
- 반복줄이기
- typescript
- JS console
- react
- 레이아웃쪼개기
- Chart.js
- 폰트적용하기
- CSS
- javascript
- 커스텀
- utilty type
- 티스토리꾸미기
- 개발콘텐츠
- React.js
- 2022
- 타입스크립트
- TSDoc
- const 단언문
- 공통컴포넌트
- 리액트
- vue.js
- 누구나 자료구조와 알고리즘
Archives
- Today
- Total
몽땅뚝딱 개발자
[Javascript/ES6+] Rest / Array-like / Rest와 Arguments의 차이 본문
Development/Javascript
[Javascript/ES6+] Rest / Array-like / Rest와 Arguments의 차이
레오나르도 다빈츠 2021. 7. 7. 21:06출처
🚀 Rest
◽ Rest 파라미터
- Syntax: function(param, paramN, ...name)
- 분리하여 받은 파라미터를 배열로 결합한다.
- spread는 분리, rest는 결합으로 볼 수 있다.
[코드 1: rest 파라미터]
// 다시 배열로 만든다.
function point(...param) {
console.log(param);
console.log(Array.isArray(param));
};
const value = {10, 20, 30};
point(...value);
[실행결과]
[10, 20, 30]
true
[코드 2: 혼합 사용]
function point(ten, ...rest)) {
console.log(ten);
console.log(rest); // 나머지가 배열로 나옴
};
const value = [10, 20, 30];
point(...value);
[실행결과]
10
[20 30]
◽ Array-like
- Object 타입이지만 배열처럼 이터러블 가능한 오브젝트이다.
- 작성방법은 프로퍼티 key값을 0부터 1씩 증가하며 작성한다.
- length에 전체 프로퍼티 수를 작성한다. (length는 전개되지 않는다.)
[코드 1: Array-like]
const values = {0: "가", 1: "나", 2: "다", length: 3};
for(let k=0; k<values.length; k++) {
console.log(values[k]);
};
[실행결과]
가
나
다
◽ Rest와 Arguments 차이
1) Argument 오브젝트
- 파라미터 작성에 관계없이 전체를 설정한다.
- Array-like 형태로, Array 메소드를 사용할 수 없다.
- _proto_가 Object이다.
2) Rest 파라미터
- 매핑되지 않은 나머지 파라미터만 설정한다.
- Array 오브젝트 형태로, Array 메소드를 사용할 수 있다.
- _proto_가 Array이다.
'Development > Javascript' 카테고리의 다른 글
[Javascript/ES6+] 호이스팅 (0) | 2021.07.07 |
---|---|
[Javascript/ES6+] let 변수와 this / 변수의 공유 (0) | 2021.07.07 |
[Javascript/ES6+] Spread(전개연산자) (0) | 2021.07.07 |
[Javascript/ES6+] 이터레이션 / 이터러블 / 이터레이터 (0) | 2021.07.07 |
[Javascript/ES6+] 화살표 함수 (0) | 2021.07.07 |
Comments