Восклицательный знак в JavaScript используется для логического отрицания (оператор NOT). Его можно применять перед выражением, чтобы изменить его логическое значение на противоположное.
!
Когда перед выражением ставится один восклицательный знак, значение выражения преобразуется в логическое значение (true
или false
) и затем инвертируется.
let a = true;
console.log(!a); // false
let b = 0;
console.log(!b); // true
Здесь:
!a
превращает true
в false
.!b
превращает 0
(что эквивалентно false
) в true
.!!
Двойной восклицательный знак используется для явного преобразования значения в логическое значение без его инвертирования. Первый !
инвертирует значение, а второй !
возвращает его к исходному логическому значению.
let a = "Hello";
console.log(!!a); // true
let b = 0;
console.log(!!b); // false
Здесь:
!!a
превращает строку "Hello"
в логическое значение true
.!!b
превращает число 0
в логическое значение false
.console.log(!!1); // true
console.log(!!0); // false
console.log(!!""); // false
console.log(!!"string"); // true
console.log(!!null); // false
console.log(!!undefined); // false
console.log(!!NaN); // false