Запропонувати правкуПокращити цю статтюДопрацюйте відповідь до «Оператор void». Ваші зміни проходять модерацію перед публікацією.Потрібне підтвердженняКонтентЩо ви змінюєте🇺🇸EN🇺🇦UAПереглядЗаголовок (UA)Коротка відповідь (UA)**Оператор `void`** у JavaScript - доволі рідкісний, але важливий інструмент: він **виконує вираз без повернення значення**, тобто **завжди повертає** `undefined`, незалежно від того, що робить вираз. **Ключове:** Найчастіше `void` застосовують у застарілому прийомі `javascript:void(0)` для посилань, в IIFE та у стрілкових функціях, які мають виконати дію, але нічого не повертати.Показується над повною відповіддю для швидкого нагадування.Відповідь (UA)ЗображенняОператор `void` у JavaScript - доволі рідкісний, але важливий інструмент. Він використовується для **виконання виразу без повернення значення**, тобто **завжди повертає** `undefined`, незалежно від того, що робить вираз. --- ## Синтаксис ```javascript void expression ``` або ```javascript void(expression) ``` --- ## Основна ідея > Оператор `void` **виконує вираз**, > але **завжди повертає** `undefined`. --- ### Приклад ```javascript void 123; // undefined void 'hello'; // undefined void (5 + 5); // undefined ``` > Неважливо, чому дорівнює вираз праворуч, > результат `void` **завжди** `undefined`. --- ## Приклад з функцією ```javascript function sayHi() { console.log('Привіт!'); return 'Hi'; } console.log(sayHi()); // "Hi" console.log(void sayHi()); // виконується, але повертає undefined ``` Тут `sayHi()` викликається, але результат (`'Hi'`) **ігнорується**, повертається `undefined`. --- ## Де використовується на практиці ### **Щоб запобігти переходу за посиланням** `<a>` Іноді потрібно, щоб клік по посиланню нічого не робив: ```javascript <a href="javascript:void(0)">Натисни мене</a> ``` > Тут: > > - виконується `void(0)` → `undefined` > - браузер нікуди не переходить, тому що `href` не дає URL. Це **застаріла практика**, у сучасному коді краще використовувати `href="#"` з `event.preventDefault()`. --- ### **Для IIFE (негайно викликаних функцій)** Раніше `void` використовували, щоб **гарантувати коректне виконання IIFE**: ```javascript void function() { console.log('Спрацювало!'); }(); ``` > Без `void` парсер міг сплутати вираз з оголошенням функції. > Зараз ця потреба трапляється рідко, > але історично `void` використовувався як «страховка». --- ### **У стрілкових функціях, щоб «нічого не повертати»** ```javascript const log = msg => void console.log(msg); log('Привіт'); // виведе в консоль, але повертає undefined ``` > Тут `void` використовується, щоб **виконати дію без повернення значення**. --- ### **У bookmarklet-ах (міні-скриптах у закладках)** Приклад «закладки зі скриптом»: ```javascript javascript:void(alert('Привіт')) ``` > Без `void` браузер спробував би перейти на «сторінку» з результатом виразу (наприклад, `undefined`), > а `void` запобігає цьому. --- ## Приклад: порівняння зі звичайним викликом ```javascript function calc() { return 42; } console.log(calc()); // 42 console.log(void calc()); // undefined ``` > Функція виконується, але `void` змушує вираз повернути `undefined`. --- ## Підсумок | Що робить | Виконує вираз і повертає `undefined` | |---|---| | Повертає | `undefined` | | Використовується для | Ігнорування результату виразу | | Часті сценарії | посилання `javascript:void(0)`, IIFE, стрілкові функції без повернення |Для рев’юераПримітка для модератора (необов’язково)Бачить лише модератор. Прискорює рев’ю.