coffeescript
coffeescript | proposal-slice-notation | |
---|---|---|
1 | 2 | |
4 | 518 | |
- | 0.4% | |
2.0 | 0.0 | |
10 months ago | 5 months ago | |
CoffeeScript | HTML | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
coffeescript
-
HypeScript: Simplified TypeScript's type system in TypeScript's own type system
This already exists, see [1]. Development has a bit stalled, but afaik the author wants to keep pursuing it. There's even a Discord server for this kind of project, see also this GitHub thread [2] where CS+TS is being discussed in general. Alternatively, you can code in Coffee with JSDoc type annotations, yielding a near-TypeScript experience in both IDE and output, albeit the annotation syntax can be a bit annoying, ironically.
[1] https://github.com/edemaine/coffeescript/blob/typescript/tes...
proposal-slice-notation
-
HypeScript: Simplified TypeScript's type system in TypeScript's own type system
> Switch statements
JS has had switch statements for a long time. Do you mean switch "expressions" that can be used inline? It's not pretty but JS has long supported that too using either eval() "hacks" or IIFEs: https://stackoverflow.com/questions/32451049/is-eval-the-onl...
Do you mean pattern matching? There are two Stage 1 TC39 proposals with different approaches to it:
More hands-on/direct: https://github.com/tc39/proposal-pattern-matching
More indirect: https://github.com/tc39/proposal-do-expressions
> list comprehensions
There are several libraries with strong Iterator support today that while not syntactically gorgeous do great jobs at allowing you to write simple list operations. Off the top of my head are IxJS and iter-tools, but also classic mainstays like up to date versions of lodash and Ramda.
There's a Stage 2 proposal to bring more of them into "the standard library": https://github.com/tc39/proposal-iterator-helpers
There's also a Stage 2 proposal for an operator to make the syntax generally nicer no matter the library: https://github.com/tc39/proposal-pipeline-operator
> array slicing
Array.prototype.slice() was added back in ES2015: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Refe...
Array.prototype.at() was "just added" in ES2022 for unary "slice" (ability to use negative indexes): https://developer.mozilla.org/en-US/docs/Web/JavaScript/Refe...
If you prefer syntax to function calls, there's a Stage 1 proposal still live for that: https://github.com/tc39/proposal-slice-notation
> better equality operators
That ship has probably sailed. Most projects at this point just have linter rules to standardize everything to the more reliable "triple equals" (===, and !==).
There are proposals for more structural equality functions in the standard library, though, for instance: https://github.com/tc39/proposal-array-equality
-
JavaScript Is Weird
Both are stage 1 proposals that I hope get in there some day.
https://github.com/tc39/proposal-slice-notation
https://github.com/tc39/proposal-pattern-matching
What are some alternatives?
proposal-do-expressions - Proposal for `do` expressions
Super-Template-Tetris - Tetris as a C++ Template Metaprogram
V7 - Embedded JavaScript engine for C/C++
HypeScript - 🐬 A simplified implementation of TypeScript's type system written in TypeScript's type system
proposal-array-equality - Determining Array Equality
oni2 - Native, lightweight modal code editor
devtools-detect - Detect if DevTools is open and its orientation
ts-sql - A SQL database implemented purely in TypeScript type annotations.
proposal-pattern-matching - Pattern matching syntax for ECMAScript
openvsx - An open-source registry for VS Code extensions