proposal-nullish-coalescing
proposal-temporal
proposal-nullish-coalescing | proposal-temporal | |
---|---|---|
5 | 93 | |
1,232 | 3,141 | |
- | 1.6% | |
0.0 | 9.4 | |
over 1 year ago | 8 days ago | |
HTML | HTML | |
- | GNU General Public License v3.0 or later |
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.
proposal-nullish-coalescing
-
Unveiling Breakthroughs Found In The State Of JS 2022 Survey
For more info about this feature, you can refer to the original proposal.
-
Javascript: El operador nullish-coalescing
Propuesta
-
PEP 505 – None-aware operators (2015)
For comparison, here are the Javascript RFCs for the equivalent operators:
https://github.com/TC39/proposal-optional-chaining
https://github.com/tc39/proposal-nullish-coalescing
IMO optional chaining is a lifesaver when dealing with deeply nested JSON, and it's become indispensable in our Typescript code. But we also deal with JSON from various third-party endpoints in Python, and far too often we resort to an inefficient deep_get utility to make our code sensical.
> if json?.get("foo")?.get("bar")?[0]?.get("baz")
may seem messy but would be infinitely better than the fragile (note the nested list-of-a-single-dict, and how bugs can appear if it's not there):
> if json.get("foo", {}).get("bar", [{}])[0].get("baz")
or the inefficient
> if deep_get(json, "foo.bar.0.baz")
It's not nearly as good as the Typescript json.foo?.bar?.[0]?.baz - but it's good enough!
- Stage 4: Nullish Coalescing for JavaScript
-
Using the optional chaining operator in JavaScript
The nullish coalescing proposal provides a way to handle undefined or null values and provide default values for the expression. You can use the “??” operator to provide a default value for an expression.
proposal-temporal
-
Handling dates in JavaScript with Tempo
Even with the initial pitfalls of JavaScript dates, the ecosystem managed to tackle those challenges with good libraries. Some use the native JavaScript date while others have instead created their own robust tools to make up for the quirks JavaScript dates might have. With the JavaScript Temporal API about to roll out, working with dates and time in JavaScript will only improve.
-
Mastering Time: State-of-the-Art Date Handling in JavaScript
Temporal API
- TC39 Temporal Proposal
- Handling Hindu Lunisidereal Calendars
- Replacing Date with Temporal – ECMAScript Stage 3 Proposal
- Temporal, a modern date/time API for ECMAScript
- Temporal proposal reaches stage 4
-
Show HN: Trigger.dev V2 – a Temporal alternative for TypeScript devs
In the TypeScript/JavaScript world the only thing called "Temporal" that I was aware of is the Stage 3 proposal for an excellent new date and time module:
https://tc39.es/proposal-temporal/docs/
-
Updates from the 97th TC39 meeting
Time Zone Canonicalization: Stacked on Temporal to improve handling of changes to the IANA Time Zone Database.
- IAMA senior javascript dev, ask me anything
What are some alternatives?
proposal-top-level-await - top-level `await` proposal for ECMAScript (stage 4)
moment - Parse, validate, manipulate, and display dates in javascript.
proposal-regexp-match-indices - ECMAScript RegExp Match Indices
dayjs - ⏰ Day.js 2kB immutable date-time library alternative to Moment.js with the same modern API
proposals - Tracking ECMAScript Proposals
Luxon - ⏱ A library for working with dates and times in JS
proposal-optional-chaining
date-fns - ⏳ Modern JavaScript date utility library ⌛️
babel-sublime - Syntax definitions for ES6 JavaScript with React JSX extensions.
You-Dont-Need-Momentjs - List of functions which you can use to replace moment.js + ESLint Plugin
sdk-typescript - Temporal TypeScript SDK
js-joda - :clock2: Immutable date and time library for javascript