Skip to main content

Оператор void

Оператор 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, стрілкові функції без повернення

Коротка відповідь

Для співбесіди
Premium

Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.