Answer

Answer

@js_test

Ответ:

false true true true

Объяснение:
В первом случае a == b будет false, потому что это разные массивы. В остальных случаях срабатывают цепочки преобразований: !объект -> !true -> false -> 0 объект -> пустая строка -> 0 которые приведут к сравнению 0 == 0, что и даёт true.
А вот если бы массивы были не пустыми, а хотя бы [1], то второе и третье сравнения свелись бы к 1 == 0, что дает false.

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

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

Report Page