program tip

화살표 함수에 인수 배열이없는 이유는 무엇입니까?

radiobox 2020. 12. 30. 08:01
반응형

화살표 함수에 인수 배열이없는 이유는 무엇입니까?


이 질문에 이미 답변이 있습니다.

function foo(x) {
   console.log(arguments)
} //foo(1) prints [1]

그러나

var bar = x => console.log(arguments) 

같은 방식으로 호출하면 다음 오류가 발생합니다.

Uncaught ReferenceError: arguments is not defined

화살표 함수에는 arguments배열과 같은 객체가 처음부터 해결 방법 이었기 때문에 ES6가 rest매개 변수로 해결 했기 때문에이 기능이 없습니다 .

var bar = (...arguments) => console.log(arguments);

arguments여기에 예약 된 것이 아니라 단지 선택되었습니다. 원하는대로 호출 할 수 있으며 일반 매개 변수와 결합 할 수 있습니다.

var test = (one, two, ...rest) => [one, two, rest];

이 멋진 적용으로 설명되는 다른 방법으로 갈 수도 있습니다.

var fapply = (fun, args) => fun(...args);

참조 URL : https://stackoverflow.com/questions/41731854/why-do-arrow-functions-not-have-the-arguments-array

반응형