Восклицательный знак в 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