`class` brings a lot of problem, but they're mostly "philosophical" and go over the mere word.
Moreover, if you want to deal with certain kind of things (custom elements, for example) you have to use classes, period. And you definitely need `class`, which both solves some problems and it's a base for future language development.
There's literature from C# about abortion/cancelation of promises with throwing a special kind of errors turned out to be a mess.
For this reason, the ongoing rationale about cancelable promises (https://github.com/tc39/proposal-cancelable-promises) focuses on cancel tokens, a new throwable class and even a new clause for `try`.
That being said, the title of the news and the gist is deceptive: requests aren't actually aborted, only ignored. The client will eventually get a response from the server.
Nevermind those clumsy developers that included a built-in module in their package.json, but how could they have allowed a package name "fs" in the first place?
I am baffled that they don't have a list of reserved package names.
"Variable name validation can get tricky"
Huh, maybe, but the essential point is: what did you do to put yourself in the need of such non-trivial validation, and why?
Unless you're writing a Javascript minifier, that is.
Most answers are quite tricky.
Some are quite good because you really need your Javascript knowledge, even bleeding-edge features.
Others require to deeply know what's under the hood of Javascript engines, i.e. dig down into the specs. I'm not really fond of those.
But a nice distraction anyway.