coutDownfrom(n--) contains a pointless assignment to a variable that has no use in the function after the logging call. It's not what I'd call clever.
It spoils the teaching value of the solution, because a beginner might be confused into thinking that the mutation of n is essential, like that there is only a single n and it is being stepped to bring about the countdown.
The student needs to understand that the countdown occurs even though there are no assignments to n, nor anything imperative other than the side effect of the logging call.
Don't write beginner examples which contain red herrings that must be explained away to some of the beginners.