#TC39

2026-03-12

💪 Temporal: The 9-Year Journey to Fix Time in JavaScript

bloomberg.github.io/js-blog/po

#javascript #tc39 #webdev

GripNewsGripNews
2026-03-11

🌗 Temporal:修正 JavaScript 時間問題的九年征程
➤ JavaScript 時間處理的革新之路:從 Date 物件的困境到 Temporal 的崛起
bloomberg.github.io/js-blog/po
JavaScript 的 `Date` 物件自 1995 年從 Java 移植以來,因其可變性、月份計算不一致及日期字串解析模糊等問題,長期困擾著開發者。隨著網路應用日益複雜,開發者轉向使用 Moment.js 等第三方函式庫以彌補 `Date` 的不足,這些函式庫雖提供不可變性與豐富功能,卻也因需打包大量語系和時區資料而導致應用程式體積膨脹。為瞭解決此核心問題,Moment.js 維護者 Maggie Johnson-Pint 於 2017 年向 TC39 提出「Temporal」提案,旨在提供一個全新的、不可變且具備第一類時區與日曆支援的日期時間 API。此提案迅速獲得肯定並進入第一階段,目前由多方專家(包括 Bloo

2025-11-22

I feel like the currently-proposed TC39 Observables lacking some value that can be supplied upon "completion" is a mistake.

#RxJS #Observables #TC39 #ECMA262

2025-11-21

Am I the only one to think that it's good that cancellable promises never made it into any specs whatsoever?

#JavaScript #ECMAScript #ECMA262 #TC39

Moritzpreya
2025-11-18

Getting information about the status of proposals is a horrible process: As a developer, I want to know how far along the "Pattern matching" feature is.

So I google "TC39 Pattern Matching". First result is this GitHub repo: github.com/tc39/proposal-patte. It says in the readme "Status: Stage 1" (I assume that's not true anymore). So I check the official "proposals" repo (github.com/tc39/proposals), and search for "pattern": Nothing, no results at all. I guess they only track Stage 2.

斎藤ただしtadd@best-friends.chat
2025-11-06

そういえばEcma InternationalのTC39-TG5、つまりJSの規格を決めてる方々が主催のワークショップにご招待いただきました。「でもEcmaのEってEuropeでしょ、遠いよね?」という方、ご心配なく。Internationalに東京で開催する会です。しかもむっちゃ駅チカな丸ビル。
規格に詳しい方々にダメ出しを大量にいただく覚悟ですが、ともかくよろしくお願いします。 #tc39
github.com/tc39/tg5/blob/main/

Darryl Poguedpogue
2025-11-04

Every so often I get an email notification from some starred bug report about TC39 decorators, and I peek at what's going on, and it seems like the current situation is that it's fully standardized but all 3 browsers went "This is complicated and we don't feel like implementing it" 😞

2025-08-27

Promise.try: единый вход для sync/async и единая обработка ошибок

Привет, Хабр! Не раз ловил себя на том, как в код-ревью всплывает одна и та же проблема: часть наших функций синхронные, часть асинхронные, а часть ведут себя как шрёдингеровские коты и делают вид, что синхронны, пока не дотронешься. В итоге в одном месте у нас try/catch, в другом .catch , где-то внезапно падает исключение, а в соседнем модуле молча утекает Promise. С появлением нативного Promise.try стало проще навести порядок и избавиться от разнобоя. Фича прошла процесс стандартизации в TC39 и включена в спецификацию ECMAScript 2026, при этом уже с января доступна в актуальных движках. Можно перестать спорить про обёртку из Promise.resolve().then и получить единый вход для sync/async с нормальной обработкой ошибок.

habr.com/ru/companies/otus/art

#js #Promisetry #JavaScript #ECMAScript_2026 #TC39 #синхронный_код #асинхронный_код

2025-08-10

I'm working on a #poc in plain #nodejs 👀
Not published yet, put maybe I will fight #nestjs as a competitor 🤔

This is already working AND fully written in #es2025 #esm with #tc39 decorator proposal

What do you think?

```ts
const cats: Cat[] = [
  new Cat({ id: "1aefd497-bb47-47e3-b160-cb69c5ba0ff4", name: "Kami", age: 4 }),
];

@Path("/cats")
export class CatController {
  @Get
  @Path("/")
  public list(): Cat[] {
    return cats;
  }

  @Get
  @Path("/:id")
  public getById(@PathVariable() id: UUID): Cat | null {
    return cats.find((cat) => cat.id === id) ?? null;
  }

  @Post
  @Path("/")
  public create(@RequestBody(Cat) cat: Cat): Cat {
    cat.id = randomUUID();
    cats.push(cat);
    return cat;
  }

  @Put
  @Path("/:id")
  public update(@PathVariable() id: UUID, @RequestBody(Cat) cat: Cat): Cat {
    const index = cats.findIndex((c) => c.id === id);
    if (index === -1) {
      throw new NotFoundResponseError("Cat not found");
    }
    cats[index] = cat;
    return cat;
  }

  @Delete
  @Path("/:id")
  public delete(@PathVariable() id: UUID): void {
    const index = cats.findIndex((c) => c.id === id);
    if (index === -1) {
      throw new NotFoundResponseError("Cat not found");
    }
    cats.splice(index, 1);
  }
}
```
2025-07-21

[Перевод] Будущее JavaScript: что нас ждет

Недавно прошла 108-я встреча TC39, на которой было продвинуто 9 предложений на разные стадии стандартизации — от сырых идей (Стадия 0) до полностью утвержденных возможностей (Стадия 4). Ниже краткий обзор этих предложений и того, что они могут привнести в JavaScript.

habr.com/ru/companies/timeweb/

#javascript #js #tc39 #ecmascript #future #proposal #будущее #предложение #standart #timeweb_статьи

Inautiloinautilo
2025-07-14


When can I use the Temporal API? · Why JavaScript’s Date API replacement took so long ilo.im/165c7r

_____

Rob Andersonr0b@social.lol
2025-06-25

Ooh Math.clamp would be cool, one less helper I need to keep rewritting github.com/tc39/proposal-math-

#Notes #JavaScript #TC39

Inautiloinautilo
2025-06-12


TC39 advances 9 JavaScript proposals · Three features are ready to join ECMAScript ilo.im/164is3

_____

2025-04-29

I'm gonna settle it once and for all:

the tc39 should adopt the F# style for pipeline operator.

No questions asked.

#FunctionalProgramming #JavaScript #TC39 #ECMAScript #ECMA262 #FP #PipelineOperator

2025-03-22

Every so often I check to see if CSS anchor positioning is ready. Almost there in Safari/Firefox. :blobcateyesR:

Popover API already makes things so much cleaner, so hopeful all the anchor implementations ship in a stable shape. Chrome's seems to work pretty great from testing my use cases with various menus.

Updating legacy code this weekend to match the spec 1:1 so the JS can be dropped after release.

#tc39 #javascript

2025-03-12

During tonight's AmsterdamJS #Meetup Special Edition with #TC39 Members (1800 CET), I will share the history of the #JavaScript Decorators proposal, which is now in Stage 3 of Ecma TC39's standardization process www.meetup.com/amsterdamjs/...

AmsterdamJS Special Edition: A...

2025-03-02

Updating some older Typescript 4.x code to TypeScript 5 latest. Decorator heavy code, so nice to get it all refactored to ESDecorators Stage 3 syntax. Definitely an improvement, especially having `context.addInitializer`.

One minor headache in that I also had to update the webpack/ts-loader version to latest after noticing issues in the transpiled output.

#TypeScript #TC39

2025-02-28

#Mozilla Standards Positions. This page tracks Mozilla's positions on open Web and Web-related specifications submitted to standards bodies like the #IETF, #W3C, #WHATWG, and #Ecma #TC39. Please remember, this isn't a commitment to implement or participate; it's just what we think right now. See dev-platform to find out what we're implementing. mozilla.github.io/standards-po

Inautiloinautilo
2025-02-24


TC39 advances a few JavaScript proposals · Three features are ready to join ECMAScript ilo.im/162h89

_____

Client Info

Server: https://mastodon.social
Version: 2025.07
Repository: https://github.com/cyevgeniy/lmst