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

Что делает восклицательный знак (!) в выражении функции JavaScript?

Опубликовано 26 декабря 2024 г.
Просматривать:312

What Does the Exclamation Mark (!) Do in a JavaScript Function Expression?

Раскрытие назначения восклицательного знака в функциональном выражении

В JavaScript при выполнении кода встречается восклицательный знак (!) перед функция может вызвать некоторые вопросы. Давайте углубимся в ее функциональность и ее роль в синтаксисе.

Синтаксис JavaScript предполагает, что функция, объявленная в форме «function foo() {}», является объявлением функции и требует вызова для выполнения. Однако предварительная обработка объявления функции с восклицательным знаком (!) преобразует его в выражение функции, за которым могут следовать круглые скобки для немедленного вызова функции.

Код "!function foo() {}() " на первый взгляд может показаться излишним, поскольку он не только объявляет функцию, но и выполняет ее. Однако восклицательный знак здесь служит двум целям:

  • Преобразование в выражение: Он преобразует объявление функции в выражение функции.
  • Неявное Вызов: Восклицательный знак, за которым следуют круглые скобки, вызывает функцию, устраняя необходимость явного вызов.

Хотя это, по сути, синтаксический трюк, этот метод позволяет использовать краткий синтаксис для немедленно вызываемых функциональных выражений (IIFE). Более явная форма кода будет такой: "(function(){})();"

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

Последний учебник Более>

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

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

Copyright© 2022 湘ICP备2022001581号-3