Echo JS 0.11.0

<~> 443 days ago. link parent 1 point
doesn't convince me, same argument can be made about function params and named import, and destructuring (and renamed destructuring), in the first 2 cases the call sites are even far away from the declaration, unlike "with" which is very scoped.

kotlin has "with" and people seem to be ok with it. In fact "with" is the closest thing javascript has that might make  kotlin's dsl style builder possible. Of course, the reality we have is jsx.

I'd say the only real reason is that at some point in the past people decided that it should be forbidden in strict mode and now it's literally impossible to use without messing around with your linter/transpiler.