No, I think there is no reason. From what I read, varleft for backward compatibility. In most articles I read, the advice is to gradually replace all occurrences varwith let. Of course, this should be done taking into account differences, such as the one you mentioned, the ifblock. I use only letmy ES6 code now. Eric Elliott doesn't use var either. There is nothing using varwhat letto do better. If you need an entire function scope, create letfunctions at the top.
: , var, window.variable, let window. , var window .
const let , .