es6 함수 의 rest 매개 변수 용법 실례 분석

본 논문 의 사례 는 es6 함수 의 rest 매개 변수 용법 을 서술 하 였 다.여러분 께 참고 하도록 공유 하 겠 습 니 다.구체 적 으로 는 다음 과 같 습 니 다.
es6 는 rest 매개 변수(형식 은...변수 이름)를 도입 하여 함수 의 불필요 한 매개 변 수 를 가 져 옵 니 다.그러면 arguments 대상 을 사용 할 필요 가 없습니다.rest 매개 변 수 는 하나의 배열 입 니 다.이 변 수 는 불필요 한 매개 변 수 를 배열 에 넣 습 니 다.

function add (...values) {
 let sum = 0;
 for (var val of values) {
 sum += val
 }
 return sum
}

add(2, 3, 5) // 10

위의 코드 의 add 함 수 는 구 와 함수 로 rest 매개 변 수 를 이용 하여 이 함수 에 임의의 수의 매개 변 수 를 전달 할 수 있 습 니 다.
다음은 arguments 변 수 를 대체 하 는 rest 인자 의 예 입 니 다.

// arguments     
function sortNumbers() {
 return Array.prototype.slice.call(arguments).sort()
}

// rest     
const sortNumbers = (...numbers) => numbers.sort()

위의 코드 의 두 가지 쓰기 방법 을 비교 해 보면 rest 매개 변수의 쓰기 가 더욱 자 연 스 럽 고 간결 하 다 는 것 을 알 수 있다.
arguments 대상 은 배열 이 아니 라 배열 과 유사 한 대상 입 니 다.따라서 배열 을 사용 하 는 방법 을 위해 서 는 Array.prototype.slice.call 을 사용 하여 먼저 배열 로 전환 해 야 합 니 다.rest 매개 변 수 는 이 문제 가 존재 하지 않 습 니 다.이것 은 바로 진정한 배열 입 니 다.배열 특유 의 방법 은 모두 사용 할 수 있 습 니 다.다음은 rest 매개 변 수 를 이용 하여 배열 push 방법 을 바 꾸 는 예 입 니 다.

function push(array, ...items) {
 items.forEach(item => {
 array.push(item)
 })
}

var a = []
push(a, 1, 2, 3)

rest 매개 변수 이후 다른 매개 변수(즉 마지막 매개 변수 만 있 을 수 있 음)가 있어 서 는 안 됩 니 다.그렇지 않 으 면 오류 가 발생 할 수 있 습 니 다.

function f (a, ...b, c) {
 // ..
} //   

함수 의 length 속성 은 rest 인 자 를 포함 하지 않 습 니 다.

(function (a) {}).length // 1
(function (...a) {}).length // 0
(function (a, ...b) {}).length // 1

관심 있 는 친 구 는 온라인 HTML/CSS/JavaScript 코드 실행 도 구 를 사용 할 수 있 습 니 다.http://tools.jb51.net/code/HtmlJsRun상기 코드 실행 효 과 를 테스트 할 수 있 습 니 다.
더 많은 자 바스 크 립 트 관련 내용 은 본 사이트 의 주 제 를 볼 수 있 습 니 다.
본 고 에서 말 한 것 이 여러분 의 자 바스 크 립 트 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.

좋은 웹페이지 즐겨찾기