Объясни результат сравнения `[] == ![]` в JavaScript, включая правила приведения типов, которые применяются к этому выражению. — ДейлиПреп