>  기사  >  웹 프론트엔드  >  화살표 함수 또는 상위 범위는 언제 함수의 인수를 정의합니까?

화살표 함수 또는 상위 범위는 언제 함수의 인수를 정의합니까?

DDD
DDD원래의
2024-10-18 16:00:05360검색

When Do Arrow Functions or the Parent Scope Define the Arguments of a Function?

ES6 화살표 함수의 인수: 공식적인 설명

ES6 화살표 함수에서 인수 키워드의 동작은 논쟁의 주제였습니다. 일부 브라우저 및 플랫폼(예: Chrome, Firefox 및 Node)은 초기 TC39 권장 사항에서 벗어나 사양의 올바른 해석에 대한 의문을 제기합니다.

공식 ES6 사양에 따르면 화살표 기능에는 해당 기능이 없습니다. 해당 범위 내에서 자신의 인수 바인딩을 수행합니다. 호출 시 화살표 함수는 선언 인스턴스화 프로세스의 일부로 인수 개체를 생성하지 않습니다.

이는 화살표 함수에서 인수 개체를 생성하는 Chrome, Firefox, Node 등의 브라우저에서 관찰되는 동작과 모순됩니다. 결과적으로 이러한 브라우저는 바깥쪽 함수에 전달된 인수에 대한 액세스를 잘못 제공합니다.

반면 Babel은 화살표 함수 내에서 인수에 액세스할 때 "ReferenceError"를 발생시켜 공식 사양을 따릅니다. 이는 인수 액세스를 위해 상위 범위를 채택하는 함수로서 화살표 함수의 의도된 동작과 일치합니다.

따라서 화살표 함수에는 전용 인수 바인딩이 없다는 것이 올바른 이해입니다. 개발자는 화살표 함수로 작업할 때 전달된 인수에 액세스하려면 바깥쪽 함수에서 제공하는 인수 개체를 사용해야 합니다.

위 내용은 화살표 함수 또는 상위 범위는 언제 함수의 인수를 정의합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.