Echo JS 0.11.0


MaxArt 46 days ago. link 1 point
> [about void] I would suggest you avoid it and let it wither into a deprecated state.

Basically nobody has been using it, but it *has* been used and I don't see why it should be deprecated.
Moreover, it's making a comeback with TypeScript, as some generics can be declared as void (a good way to express empty values) and then you *have* to use void instead of undefined.
Finally, minifiers transform undefined to void 0 because it's shorter. I wouldn't want to see my console filled with deprecation notices for something I didn't even use.

with has always been rarely used and now that we're moving to modules (which are always in strict mode) we'll stop using it altogether. Notable use in the past: template engines.

And yeah, labels are tricky. And confusing. And unexpected.
Except in svelte, where they're used to mark a statement as reactive.
Other than that, if you find yourself to use labels, there's probably a better way to do things.
tracker1 44 days ago. link 1 point
About the only time I use labels, is to pull a ripcord on existing code logic (usually larger than it should be) that would be much more cumbersome to refactor into separate function calls.

I don't use it a lot and usually have to lookup the syntax to double-check, as often I'll remember it as `:label` instead of `label:`.  Same happens with shift/unshift, I almost always have to look it up as I remember backwards.
shadowtime2000 45 days ago. link 1 point
> Notable use in the past: template engines.

Interesting, as a template engine maintainer, I have not seen a template engine use void 0. How are have they been used in template engines?
tracker1 44 days ago. link 2 points
GP is refering to "with" being used for template engines.
shadowtime2000 43 days ago. link 1 point
Ah. Yeah, with is used with template engines when it really shouldn't be.