Inner functions and function arguments have function scope anyway, so it's not just about `var`.
From the acceptance of ES6 forward, JS devs (and devs of whatever languages consider themselves to be a superset of JS) need to accept that both function scope and block scope exist in the language.