top | item 47137463

(no title)

Vinnl | 5 days ago

I kinda like the way JS evolved into a modern language, where essentially ~everyone uses a linter that e.g. prevents the use of `var`. Sure, it's technically still in the language, but it's almost never used anymore.

(Assuming transpilers have stopped outputting it, which I'm not confident about.)

discuss

order

thunderfork|5 days ago

Depending on the transpiler and mode of operation, `var` is sometimes emitted.

For example, esbuild will emit var when targeting ESM, for performance and minification reasons. Because ESM has its own inherent scope barrier, this is fine, but it won't apply the same optimizations when targeting (e.g.) IIFE, because it's not fine in that context.

https://github.com/evanw/esbuild/issues/1301

delaminator|5 days ago

for some values of "everyone" and "never".

plorkyeran|5 days ago

I touch JS that uses var heavily on a daily basis and I would be incredibly surprised to find out that I am alone in that.

Vinnl|4 days ago

That is indeed why I added qualifiers to "everyone" and "never".