# Ответ по первому равенству Два объекта равны только тогда, когда это один и тот же объект. В первом равенстве создаются два массива, это разные объекты, так что они неравны. # Ответ по второму равенству
  1. Первым делом, обе части сравнения вычисляются. Справа находится `![]`. Логическое НЕ `'!'` преобразует аргумент к логическому типу. Массив является объектом, так что это `true`. Значит, правая часть становится `![] = !true = false`. Так что получили: ```js alert( [] == false ); ```
  2. Проверка равенства между объектом и примитивом вызывает численное преобразование объекта. У массива нет `valueOf`, сработает `toString` и преобразует массив в список элементов, то есть - в пустую строку: ```js alert( '' == false ); ```
  3. Сравнение различных типов вызывает численное преобразование слева и справа: ```js alert( 0 == 0 ); ``` Теперь результат очевиден.