«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Когда стрелочные функции или родительская область определяют аргументы функции?

Когда стрелочные функции или родительская область определяют аргументы функции?

Опубликовано 7 ноября 2024 г.
Просматривать:763

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» при доступе к аргументам внутри стрелочной функции. Это соответствует предполагаемому поведению стрелочных функций как функций, которые принимают свою родительскую область для доступа к аргументам.

Поэтому правильное понимание заключается в том, что стрелочные функции не имеют специальной привязки аргументов. Разработчикам следует использовать объект аргументов, предоставляемый включающей функцией, для доступа к переданным аргументам при работе с функциями стрелок.

Заявление о выпуске Эта статья перепечатана по адресу: 1729238355. Если есть какие-либо нарушения, свяжитесь с [email protected], чтобы удалить их.
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3