javascript - Why does this function return true? -
const res = (n => { const = x => { if (x === 0) return true else { const odd = y => !even(y) return odd(x - 1) } } return even(n) })(42) console.log(res) //=> true
since 42 used in paramtersbut says return true if x 0 strictly equaling type , value, i'm not sure why true returned. thought value 0 should return false. can please explain me, new javascript , programming.
if strip unnecessary parts local functions , iife, test zero, it's value or recursive call of not reduced value one.
const = x => x === 0 || !even(x - 1); console.log(even(42)) // true console.log(even(43)) // false
whats happens recursive call of
even
n result of calling simplified -- ----------------- ---------- 8 !even(7) !even(7) 7 !!even(6) even(6) 6 !!!even(5) !even(5) 5 !!!!even(4) even(4) 4 !!!!!even(3) !even(3) 3 !!!!!!even(2) even(2) 2 !!!!!!!even(1) !even(1) 1 !!!!!!!!even(0) even(0) 0 !!!!!!!!true true
Comments
Post a Comment