const res = (n => {
const even = x => {
if (x === 0)
return true
else {
const odd = y => !even(y)
return odd(x - 1)
}
}
return even(n)
})(42)
console.log(res) //=> true
42がparamtersで使われていますが、xが0で厳密に型と値が等しい場合にのみtrueを返すと言われていますが、なぜ真が返されるのかわかりません。私は0以外の値はfalseと返すべきだと思った。誰かが私にこれを説明してください、私は非常にjavascriptとプログラミングに新しいですか?なぜこの関数はtrueを返しますか?
それがtrueを返した後、0に達するまで、機能は1を引いをループされます。ここでは仕事場でそれを見ることができます:https://repl.it/KRZa – Baruch
@Baruch '43'ではどうなりますか? https://repl.it/KRZa – sabithpocker
数字が偶数であるかどうかを確認するには、これは非実用的で非効率的な方法です。実際に*使用する予定がある場合は、このコードを書かないでください。 – user2407038