Skip to main content

Оператор !

Оператор ! називається логічним запереченням (NOT). Він інвертує (перевертає) логічне значення виразу.


Правило:

javascript
!truefalse !falsetrue

Якщо значення істинне (truthy) - воно стане false. Якщо хибне (falsy) - воно стане true.


Приклади використання !

javascript
!true // false !false // true !0 // true (0 - хибне значення) !1 // false (1 - істинне) !"" // true (порожній рядок - хибне значення) !"hello" // false (непорожній рядок - істинне значення) !undefined // true !null // true !NaN // true ![] // false (масив - truthy) !{} // false (об'єкт - truthy)

Подвійне заперечення !!

Дуже часто в JavaScript зустрічається подвійний оператор:

javascript
!!value

Він використовується для приведення будь-якого значення до типу boolean.

Приклад:

javascript
!!'hello' // true !!'' // false !!0 // false !!123 // true !!null // false !!{} // true !![] // true

!! - це короткий і зрозумілий спосіб явно сказати: «Перетвори значення на булеве».


У логічних виразах

! часто використовується для перевірки умов:

javascript
const isLoggedIn = false; if (!isLoggedIn) { console.log('Користувач не авторизований'); }

Тут !isLoggedIn!falsetrue, тобто блок if виконається.


Як це працює всередині

  1. JS спочатку приводить значення до логічного типу (true / false);
  2. потім інвертує його.

Приклад:

javascript
!'text' // крок 1: 'text' → true; крок 2: !true → false

Порівняння з іншими логічними операторами

ОператорНазваПрикладРезультат
!Логічне НЕ!truefalse
&&Логічне Іtrue && falsefalse
||Логічне АБОtrue || falsetrue

Підсумок

СитуаціяЩо робить !Приклад
Заперечує логічне значення!true → false
Приводить значення до boolean!!'js' → true
Використовується в умовахif (!user) → «якщо user не задано»

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

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

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