Notice
Recent Posts
Recent Comments
Link
반응형
공부혜옹
[JavaScript] ES6 Rest Parameter 본문
Rest Parameter란?
Rest 파라미터(Rest Parameter, 나머지 매개변수)는 매개변수 이름 앞에 세개의 점 ... 을 붙여서 정의한 매개변수를 의미한다. Rest 파라미터는 함수에 전달된 인자(argument)들의 목록을 배열로 전달받는다.
function example(a,b,...rest) {
console.log(Array.isArray(rest)); // true
console.log(rest); // [ 3, 4, 5 ],
}
example(1, 2, 3, 4, 5);
함수의 마지막 파라미터의 앞에 ... 를 붙여 (사용자가 제공한) 모든 나머지 인수를 자바스크립트 배열로 대체한다.
마지막 파라미터만 Rest Parameter가 될 수 있다.
function example (a,b,...array){} // 매개변수 a,b를 제외한 나머지 인자들을 받아 array라는 배열을 생성한다.
Rest Parameter 적용사례 및 효과
함수의 매개변수를 받아 배열을 만들때 보다 쉽고 간단한 코드작성이 가능하다.
// argument를 사용해 배열 만들기
function makeArray(a, b) {
// 배열을 만드는 방법 3가지
var normalArray = Array.prototype.slice.call(arguments);
var normalArray = [].slice.call(arguments);
var normalArray = Array.from(arguments);
var first = normalArray.shift(); //첫번째 인자를 반환
}
// rest parameter를 사용해 배열 만들기
function makeArray(...args) {
var normalArray = args;
var first = normalArray.shift(); // 첫번째 인자를 반환
}
arguments와 rest parameter의 차이점
arguments는 유사 배열 객체고 rest는 배열이다.
유사 배열 객체는 간단하게 배열처럼 사용할 수 있는 객체를 말한다. 배열과 유사하게 사용가능하지만 arguments는 유사배열객체이기 때문에 Array Object의 메소드를 사용할 수 없다.
따라서 ES6의 arrow function에 arguments는 사용할 수 없을 뿐더러 Rest 파라미터를 사용하면 더 유연한 코드를 작성할 수 있기 때문에 Rest 파라미터 사용을 권장한다.
spread연산자와 프로퍼티 추가 포스팅예정📚
반응형
'공부합시다 > JavaScript' 카테고리의 다른 글
Parameter VS Argument (0) | 2022.07.19 |
---|---|
[JavaScript] 자바스크립트 비동기 처리 과정 (0) | 2022.07.03 |
[JavaScript] 프로토타입 (prototype) (3) | 2020.05.30 |
[JavaScript vs Java] This (2) | 2020.05.24 |
[JavaScript] ES6 문법정리 (화살표 함수) (2) | 2020.05.22 |
Comments