-1 == true; //false
-1 == false //false
-1 ? true : false; //true
Может ли кто-нибудь объяснить вышеприведенный вывод? Я знаю, что могу обойти это по сравнению с 0, но мне интересно. Я ожидал бы, что хотя бы одно из операторов sloppy equals будет истинным, поскольку они неявное преобразование типов, и я, конечно же, не ожидал, что тройка придумает совершенно другой результат.