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

Popular posts from this blog

ubuntu - PHP script to find files of certain extensions in a directory, returns populated array when run in browser, but empty array when run from terminal -

php - How can i create a user dashboard -

javascript - How to detect toggling of the fullscreen-toolbar in jQuery Mobile? -