Что за оператор?

Это знак != не равняется, а что значит =! ?

Искал инфу, но так и не нашел ответ.

setInterval(() => main.hidden = !main.hidden, 1000);  //  Что значит =! ???
#main{
background: orange; 
}
<div id="main">
TEXT
</div>


Ответы (1 шт):

Автор решения: Алексей Шиманский

Во-первых вы ошиблись. Не =!, а = ! (пробел между символами) и разница большая. Первого не существует в принципе. А второй это всего лишь равно и знак отрицания для переменной.

Например

let a = true;
console.log(a); // true 
console.log(!a); // false

То есть фактически у вас написано, что значению x присвоить значение обратное x. Как правило это применяется для булевых переменных.

Либо для приведения какого-то значения к булеву:

let a = '5';

console.log(!!a);

Тут первый ! приведёт значение в булев тип, но тогда он будет false, а чтобы сделать обратно true применяется второй ! для логического отрицания false (для коего будет true)

→ Ссылка