Answer

Answer

JavaScript test

Код выведет:

true true

Объяснение:

В первом выражении все понятно, идет сравнение ссылки с самой собой. А во втором операнд "!a" преобразовывается к boolean и соответственно порождает преобразование к boolean операнда "a". []==false (пустой массив => false), ![]==false (ссылка на объект (в данном случае на массив) с оператором ! => false) т.е. [] == ![]

Код для проверки:

var a = [];
console.log((a == a) + ' ' + (a == !a));

Report Page