В JavaScript - когда операнды для оператора имеют разные типы - происходит тип corecion, т.е. он пытается преобразовать один из операндов в тип, совместимый с оператором
Попробуйте это: console.log(2 + true) //3
console.log(true + false) //1
В вашем случае подумайте, что происходит, когда вы пытаетесь checkeven(2)
checkeven(2) = 2 - checkeven(0) = 2 - true = 1